0,0 → 1,61 |
/* |
* Copyright 2012 Brian Rosenberger (Brutex Network) |
* |
* Licensed under the Apache License, Version 2.0 (the "License"); |
* you may not use this file except in compliance with the License. |
* You may obtain a copy of the License at |
* |
* http://www.apache.org/licenses/LICENSE-2.0 |
* |
* Unless required by applicable law or agreed to in writing, software |
* distributed under the License is distributed on an "AS IS" BASIS, |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
* See the License for the specific language governing permissions and |
* limitations under the License. |
*/ |
package net.brutex.xservices.ws.impl; |
|
|
|
import java.util.regex.Matcher; |
import java.util.regex.Pattern; |
|
import javax.jws.WebService; |
|
import net.brutex.xservices.types.StringReplaceType; |
import net.brutex.xservices.util.BrutexNamespaces; |
import net.brutex.xservices.ws.StringService; |
import net.brutex.xservices.ws.XServicesFault; |
|
/** |
* @author Brian Rosenberger |
* @since 0.5.0 |
* |
*/ |
@WebService(targetNamespace = BrutexNamespaces.WS_XSERVICES, endpointInterface = "net.brutex.xservices.ws.StringService", serviceName = StringService.SERVICE_NAME) |
public class StringServiceImpl implements StringService { |
|
public StringReplaceType replaceRegEx(String res, String search, String replace, |
String flags) throws XServicesFault { |
|
int allflags = 0; |
if(flags.contains("i")) { |
allflags = allflags + Pattern.CASE_INSENSITIVE; |
} |
Pattern pattern = Pattern.compile(search, allflags); |
Matcher matcher = pattern.matcher(res); |
int count = 0; |
while( matcher.find()) { |
count++; |
} |
if(flags.contains("g")) { |
return new StringReplaceType(matcher.replaceAll(replace), count); |
} else { |
if(count>1) count = 1; |
return new StringReplaceType(matcher.replaceFirst(replace), count); |
} |
|
} |
|
|
} |
Property changes: |
Added: svn:mime-type |
+text/plain |
\ No newline at end of property |