List of usage examples for com.google.common.base CharMatcher javaLowerCase
public static CharMatcher javaLowerCase()
From source file:google.registry.model.domain.fee.FeeExtensionCommandDescriptor.java
public CommandName getCommand() { // Require the xml string to be lowercase. if (command != null && CharMatcher.javaLowerCase().matchesAllOf(command)) { try {/*from ww w . j av a2s . co m*/ return CommandName.valueOf(Ascii.toUpperCase(command)); } catch (IllegalArgumentException e) { // Swallow this and return UNKNOWN below because there's no matching CommandName. } } return CommandName.UNKNOWN; }
From source file:app.data.validator.UserInfoValidator.java
public int checkPasswordStrength(String password) { // ? ([a-zA-Z0-9\\.,;]){6,} int strength = (password == null || password.length() < 6 || password.length() > 24) ? 0 : CharMatcher.anyOf(".,;").or(CharMatcher.javaLetterOrDigit()).negate().indexIn(password); if (strength >= 0) { return -1; }/*from w w w. j a va2 s.com*/ strength = CharMatcher.digit().indexIn(password) >= 0 ? 1 : 0; strength += CharMatcher.anyOf(".,;").indexIn(password) >= 0 ? 1 : 0; strength += CharMatcher.javaLowerCase().indexIn(password) >= 0 ? 1 : 0; strength += CharMatcher.javaUpperCase().indexIn(password) >= 0 ? 1 : 0; return strength; }
From source file:google.registry.model.domain.fee12.FeeCheckCommandExtensionItemV12.java
@Override public CommandName getCommandName() { // Require the xml string to be lowercase. if (commandName != null && CharMatcher.javaLowerCase().matchesAllOf(commandName)) { try {/*from ww w . jav a 2s . co m*/ return CommandName.valueOf(Ascii.toUpperCase(commandName)); } catch (IllegalArgumentException e) { // Swallow this and return UNKNOWN below because there's no matching CommandName. } } return CommandName.UNKNOWN; }
From source file:com.google.devtools.build.lib.rules.objc.ProtoAttributes.java
/** * Processes the case of the proto file name in the same fashion as the objective_c generator's * UnderscoresToCamelCase function. This converts snake case to camel case by splitting words * by non alphabetic characters. This also treats the URL, HTTP and HTTPS as special words that * need to be completely uppercase./*w ww .ja v a 2s .com*/ * * Examples: * - j2objc_descriptor -> J2ObjcDescriptor (notice that O is uppercase after the 2) * - my_http_url_array -> MyHTTPURLArray * - proto-descriptor -> ProtoDescriptor * * Original code reference: * <p>https://github.com/google/protobuf/blob/master/src/google/protobuf/compiler/objectivec/objectivec_helpers.cc */ String getGeneratedProtoFilename(String protoFilename, boolean upcaseReservedWords) { boolean lastCharWasDigit = false; boolean lastCharWasUpper = false; boolean lastCharWasLower = false; StringBuilder currentSegment = new StringBuilder(); ArrayList<String> segments = new ArrayList<>(); for (int i = 0; i < protoFilename.length(); i++) { char currentChar = protoFilename.charAt(i); if (CharMatcher.javaDigit().matches(currentChar)) { if (!lastCharWasDigit) { segments.add(currentSegment.toString()); currentSegment = new StringBuilder(); } currentSegment.append(currentChar); lastCharWasDigit = true; lastCharWasUpper = false; lastCharWasLower = false; } else if (CharMatcher.javaLowerCase().matches(currentChar)) { if (!lastCharWasLower && !lastCharWasUpper) { segments.add(currentSegment.toString()); currentSegment = new StringBuilder(); } currentSegment.append(currentChar); lastCharWasDigit = false; lastCharWasUpper = false; lastCharWasLower = true; } else if (CharMatcher.javaUpperCase().matches(currentChar)) { if (!lastCharWasUpper) { segments.add(currentSegment.toString()); currentSegment = new StringBuilder(); } currentSegment.append(Character.toLowerCase(currentChar)); lastCharWasDigit = false; lastCharWasUpper = true; lastCharWasLower = false; } else { lastCharWasDigit = false; lastCharWasUpper = false; lastCharWasLower = false; } } segments.add(currentSegment.toString()); StringBuilder casedSegments = new StringBuilder(); for (String segment : segments) { if (upcaseReservedWords && UPPERCASE_SEGMENTS.contains(segment)) { casedSegments.append(segment.toUpperCase()); } else { casedSegments.append(LOWER_UNDERSCORE.to(UPPER_CAMEL, segment)); } } return casedSegments.toString(); }
From source file:com.google.devtools.build.lib.rules.objc.ProtoSupport.java
/** * Processes the case of the proto file name in the same fashion as the objective_c generator's * UnderscoresToCamelCase function.//from ww w. j a v a 2s. c o m * * https://github.com/google/protobuf/blob/master/src/google/protobuf/compiler/objectivec/objectivec_helpers.cc */ private String generateProtobufFilename(String protoFilename) { boolean lastCharWasDigit = false; boolean lastCharWasUpper = false; boolean lastCharWasLower = false; StringBuilder currentSegment = new StringBuilder(); ArrayList<String> segments = new ArrayList<>(); for (int i = 0; i < protoFilename.length(); i++) { char currentChar = protoFilename.charAt(i); if (CharMatcher.javaDigit().matches(currentChar)) { if (!lastCharWasDigit) { segments.add(currentSegment.toString()); currentSegment = new StringBuilder(); } currentSegment.append(currentChar); lastCharWasDigit = true; lastCharWasUpper = false; lastCharWasLower = false; } else if (CharMatcher.javaLowerCase().matches(currentChar)) { if (!lastCharWasLower && !lastCharWasUpper) { segments.add(currentSegment.toString()); currentSegment = new StringBuilder(); } currentSegment.append(currentChar); lastCharWasDigit = false; lastCharWasUpper = false; lastCharWasLower = true; } else if (CharMatcher.javaUpperCase().matches(currentChar)) { if (!lastCharWasUpper) { segments.add(currentSegment.toString()); currentSegment = new StringBuilder(); } currentSegment.append(Character.toLowerCase(currentChar)); lastCharWasDigit = false; lastCharWasUpper = true; lastCharWasLower = false; } else { lastCharWasDigit = false; lastCharWasUpper = false; lastCharWasLower = false; } } segments.add(currentSegment.toString()); StringBuilder casedSegments = new StringBuilder(); for (String segment : segments) { if (UPPERCASE_SEGMENTS.contains(segment)) { casedSegments.append(segment.toUpperCase()); } else { casedSegments.append(LOWER_UNDERSCORE.to(UPPER_CAMEL, segment)); } } return casedSegments.toString(); }