Example usage for com.google.common.base Ascii isUpperCase

List of usage examples for com.google.common.base Ascii isUpperCase

Introduction

In this page you can find the example usage for com.google.common.base Ascii isUpperCase.

Prototype

public static boolean isUpperCase(char c) 

Source Link

Document

Indicates whether c is one of the twenty-six uppercase ASCII alphabetic characters between 'A' and 'Z' inclusive.

Usage

From source file:org.immutables.value.processor.meta.ImportRewriteDisabler.java

static boolean shouldDisableFor(ValueType type) {
    Reporter reporter = type.constitution.protoclass().report();

    for (String segment : DOT_SPLITTER.split(type.constitution.implementationPackage())) {
        if (!segment.isEmpty() && Ascii.isUpperCase(segment.charAt(0))) {
            reporter.warning(WARNING_START + " uppercase package names");
            return true;
        }//w  w w .  java2 s . c o m
    }

    Element element = type.constitution.protoclass().sourceElement();
    if (shouldDisableFor(reporter, element)) {
        return true;
    }

    for (ValueAttribute attribute : type.attributes) {
        if (Ascii.isUpperCase(attribute.names.get.charAt(0))) {
            reporter.warning(WARNING_START + " uppercase attribute names");
            return true;
        }
        if (attribute.containedTypeElement != null) {
            if (shouldDisableFor(reporter, attribute.containedTypeElement)) {
                return true;
            }
        }
    }

    for (ValueType nested : type.nested) {
        if (shouldDisableFor(nested)) {
            return true;
        }
    }
    return false;
}

From source file:org.sfs.util.NullSafeAscii.java

public static boolean isUpperCase(char c) {
    return Ascii.isUpperCase(c);
}

From source file:org.immutables.value.processor.meta.ImportRewriteDisabler.java

private static boolean shouldDisableFor(Reporter reporter, Element element) {
    while (element != null) {
        if (element.getKind() == ElementKind.PACKAGE) {
            for (String segment : DOT_SPLITTER.split(((PackageElement) element).getQualifiedName())) {
                if (!segment.isEmpty() && Ascii.isUpperCase(segment.charAt(0))) {
                    reporter.warning(WARNING_START + " uppercase package names");
                    return true;
                }/*from w  w w. j a va 2s  .  c o m*/
            }
        }
        if (element.getKind().isClass() || element.getKind().isInterface()) {
            if (Ascii.isLowerCase(element.getSimpleName().charAt(0))) {
                reporter.warning(WARNING_START + " lowercase class names");
                return true;
            }
        }
        element = element.getEnclosingElement();
    }
    return false;
}

From source file:dagger.internal.codegen.DependencyVariableNamer.java

@Override
public String apply(DependencyRequest dependency) {
    if (dependency.overriddenVariableName().isPresent()) {
        return dependency.overriddenVariableName().get();
    }//w  w w  .jav  a2s  .  c  o  m
    checkArgument(dependency.requestElement().isPresent());
    String variableName = dependency.requestElement().get().getSimpleName().toString();
    if (Ascii.isUpperCase(variableName.charAt(0))) {
        variableName = toLowerCamel(variableName);
    }
    switch (dependency.kind()) {
    case INSTANCE:
        return variableName;
    case LAZY:
        return variableName.startsWith("lazy") && !variableName.equals("lazy")
                ? toLowerCamel(variableName.substring(4))
                : variableName;
    case PROVIDER_OF_LAZY:
        Matcher matcher = LAZY_PROVIDER_PATTERN.matcher(variableName);
        if (matcher.matches()) {
            return toLowerCamel(matcher.group(1));
        }
        // fall through
    case PROVIDER:
        return variableName.endsWith("Provider") && !variableName.equals("Provider")
                ? variableName.substring(0, variableName.length() - 8)
                : variableName;
    case MEMBERS_INJECTOR:
        return variableName.endsWith("MembersInjector") && !variableName.equals("MembersInjector")
                ? variableName.substring(0, variableName.length() - 15)
                : variableName;
    case PRODUCED:
        return variableName.startsWith("produced") && !variableName.equals("produced")
                ? toLowerCamel(variableName.substring(8))
                : variableName;
    case PRODUCER:
        return variableName.endsWith("Producer") && !variableName.equals("Producer")
                ? variableName.substring(0, variableName.length() - 8)
                : variableName;
    default:
        throw new AssertionError();
    }
}

From source file:org.immutables.value.processor.meta.ImportsTypeStringResolver.java

@Override
public String apply(String input) {
    unresolved = false;//from  w  ww .  j a  v a  2  s  .  c  o m
    boolean assumedUnqualified = Ascii.isUpperCase(input.charAt(0));
    if (assumedUnqualified) {
        input = qualifyImportedIfPossible(input, false);
    }
    return input;
}

From source file:org.immutables.value.processor.meta.ImportsTypeStringResolver.java

String resolveTopForAttribute(String input) {
    unresolved = false;/*w w  w  .  ja  va  2  s.  c  o m*/
    boolean assumedUnqualified = Ascii.isUpperCase(input.charAt(0));
    if (assumedUnqualified) {
        input = qualifyImportedIfPossible(input, !unresolvedYetArguments.contains(input));
    }
    return input;
}

From source file:dagger2.internal.codegen.writer.ClassName.java

public ClassName nestedClassNamed(String memberClassName) {
    checkNotNull(memberClassName);/*from  w w  w  .j a va  2s. c  om*/
    checkArgument(SourceVersion.isIdentifier(memberClassName));
    checkArgument(Ascii.isUpperCase(memberClassName.charAt(0)));
    return new ClassName(packageName(),
            new ImmutableList.Builder<String>().addAll(enclosingSimpleNames()).add(simpleName()).build(),
            memberClassName);
}

From source file:com.google.errorprone.refaster.RefasterRule.java

@VisibleForTesting
static String fromSecondLevel(String qualifiedTemplateClass) {
    List<String> path = Splitter.on('.').splitToList(qualifiedTemplateClass);
    for (int topLevel = 0; topLevel < path.size() - 1; topLevel++) {
        if (Ascii.isUpperCase(path.get(topLevel).charAt(0))) {
            return Joiner.on('_').join(path.subList(topLevel + 1, path.size()));
        }/*ww  w  .  j  a v  a 2s.  com*/
    }
    return Iterables.getLast(path);
}

From source file:dagger2.internal.codegen.writer.ClassName.java

public ClassName peerNamed(String peerClassName) {
    checkNotNull(peerClassName);/* w ww  .j  a  v a  2s. c o m*/
    checkArgument(SourceVersion.isIdentifier(peerClassName));
    checkArgument(Ascii.isUpperCase(peerClassName.charAt(0)));
    return new ClassName(packageName(), enclosingSimpleNames(), peerClassName);
}

From source file:com.squareup.javapoet.ClassName.java

/**
 * Returns a new {@link ClassName} instance for the given fully-qualified class name string. This
 * method assumes that the input is ASCII and follows typical Java style (lowercase package
 * names, UpperCamelCase class names) and may produce incorrect results or throw
 * {@link IllegalArgumentException} otherwise. For that reason, {@link #get(Class)} and
 * {@link #get(Class)} should be preferred as they can correctly create {@link ClassName}
 * instances without such restrictions.//from w  ww .jav  a2s  . c o  m
 */
public static ClassName bestGuess(String classNameString) {
    List<String> names = new ArrayList<>();

    // Add the package name, like "java.util.concurrent", or "" for no package.
    int p = 0;
    while (p < classNameString.length() && Ascii.isLowerCase(classNameString.charAt(p))) {
        p = classNameString.indexOf('.', p) + 1;
        checkArgument(p != 0, "couldn't make a guess for %s", classNameString);
    }
    names.add(p != 0 ? classNameString.substring(0, p - 1) : "");

    // Add the class names, like "Map" and "Entry".
    for (String part : Splitter.on('.').split(classNameString.substring(p))) {
        checkArgument(!part.isEmpty() && Ascii.isUpperCase(part.charAt(0)), "couldn't make a guess for %s",
                classNameString);
        names.add(part);
    }

    checkArgument(names.size() >= 2, "couldn't make a guess for %s", classNameString);
    return new ClassName(names);
}