Example usage for com.google.common.base CharMatcher javaLowerCase

List of usage examples for com.google.common.base CharMatcher javaLowerCase

Introduction

In this page you can find the example usage for com.google.common.base CharMatcher javaLowerCase.

Prototype

public static CharMatcher javaLowerCase() 

Source Link

Document

Determines whether a character is lower case according to Character#isLowerCase(char) Java's definition .

Usage

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();
}