List of usage examples for com.google.common.base CharMatcher matchesAnyOf
public boolean matchesAnyOf(CharSequence sequence)
From source file:com.eucalyptus.compute.common.internal.tags.Filters.java
/** * Escape any wildcards in a filter value so it can be used as a literal. * * <p>Escapes \ * and ? using a \<\p> * * @param filterValue The value to escape * @return The escaped filter value/*from w ww.j ava 2 s . c om*/ */ @Nonnull public static String escape(@Nonnull final CharSequence filterValue) { final String escaped; final CharMatcher syntaxMatcher = CharMatcher.anyOf("\\*?"); if (syntaxMatcher.matchesAnyOf(filterValue)) { final StringBuilder escapedBuffer = new StringBuilder(filterValue.length() + 8); for (int i = 0; i < filterValue.length(); i++) { final char character = filterValue.charAt(i); switch (character) { case '\\': case '*': case '?': escapedBuffer.append('\\'); // fall through default: escapedBuffer.append(character); } } escaped = escapedBuffer.toString(); } else { escaped = filterValue.toString(); } return escaped; }
From source file:org.opendaylight.restconf.parser.builder.YangInstanceIdentifierDeserializer.java
private static String findAndParsePercentEncoded(final String preparedPrefix) { if (!preparedPrefix.contains(String.valueOf(ParserBuilderConstants.Deserializer.PERCENT_ENCODING))) { return preparedPrefix; }//from w w w.ja v a 2 s.co m final StringBuilder parsedPrefix = new StringBuilder(preparedPrefix); final CharMatcher matcher = CharMatcher.is(ParserBuilderConstants.Deserializer.PERCENT_ENCODING); while (matcher.matchesAnyOf(parsedPrefix)) { final int percentCharPosition = matcher.indexIn(parsedPrefix); parsedPrefix .replace(percentCharPosition, percentCharPosition + ParserBuilderConstants.Deserializer.LAST_ENCODED_CHAR, String.valueOf((char) Integer.parseInt(parsedPrefix.substring( percentCharPosition + ParserBuilderConstants.Deserializer.FIRST_ENCODED_CHAR, percentCharPosition + ParserBuilderConstants.Deserializer.LAST_ENCODED_CHAR), ParserBuilderConstants.Deserializer.PERCENT_ENCODED_RADIX))); } return parsedPrefix.toString(); }
From source file:fredboat.Config.java
private static String cleanTabs(String content, String file) { CharMatcher tab = CharMatcher.is('\t'); if (tab.matchesAnyOf(content)) { log.warn("{} contains tab characters! Trying a fix-up.", file); return tab.replaceFrom(content, " "); } else {//from w w w .j av a 2 s. c om return content; } }
From source file:com.eucalyptus.compute.common.internal.tags.FilterSupport.java
/** * Escape wildcards for like literals/* ww w. j a va 2s . c o m*/ * * Escapes \ % and _ using a \ */ static String escapeLikeWildcards(final String literalExpression) { final String escaped; final CharMatcher syntaxMatcher = CharMatcher.anyOf("\\%_"); if (syntaxMatcher.matchesAnyOf(literalExpression)) { final StringBuilder escapedBuffer = new StringBuilder(); for (final char character : literalExpression.toCharArray()) { switch (character) { case '\\': case '_': case '%': escapedBuffer.append('\\'); default: escapedBuffer.append(character); } } escaped = escapedBuffer.toString(); } else { escaped = literalExpression; } return escaped; }
From source file:com.eucalyptus.compute.common.internal.tags.FilterSupport.java
/** * Translate wildcards from AWS to some other syntax *//* ww w . j a va 2 s .c o m*/ static boolean translateWildcards(final String filterPattern, final StringBuilder translated, final String matchOne, final String matchZeroOrMore, final Function<String, String> escapeFunction) { boolean foundWildcard = false; final CharMatcher syntaxMatcher = CharMatcher.anyOf("\\*?"); if (syntaxMatcher.matchesAnyOf(filterPattern)) { // Process for wildcards boolean escaped = false; for (final char character : filterPattern.toCharArray()) { switch (character) { case '\\': case '?': case '*': if (!escaped) { switch (character) { case '\\': escaped = true; break; case '?': foundWildcard = true; translated.append(matchOne); break; case '*': foundWildcard = true; translated.append(matchZeroOrMore); break; } break; } escaped = false; default: if (escaped) { translated.append(escapeFunction.apply("\\")); } escaped = false; translated.append(escapeFunction.apply(Character.toString(character))); } } if (escaped) { translated.append(escapeFunction.apply("\\")); } } else { translated.append(escapeFunction.apply(filterPattern)); } return foundWildcard; }