Example usage for com.google.gwt.core.ext.typeinfo TypeOracle findPackage

List of usage examples for com.google.gwt.core.ext.typeinfo TypeOracle findPackage

Introduction

In this page you can find the example usage for com.google.gwt.core.ext.typeinfo TypeOracle findPackage.

Prototype

public abstract JPackage findPackage(String pkgName);

Source Link

Document

Attempts to find a package by name.

Usage

From source file:rocket.generator.rebind.GeneratorContextImpl.java

License:Apache License

/**
 * Retrieves the package name portion of the fully qualified class name.
 * //w  ww.j a va  2  s  .c  o  m
 * @param fullyQualifiedClassName
 * @return
 */
public String getPackageName(final String fullyQualifiedClassName) {
    Checker.notEmpty("parameter:fullyQualifiedClassName", fullyQualifiedClassName);

    String packageName = null;
    final TypeOracle typeOracle = this.getTypeOracle();
    String name = fullyQualifiedClassName;

    while (true) {
        // appear to be a class in the unnamed package...
        final int simpleNameStartIndex = name.lastIndexOf('.');
        if (-1 == simpleNameStartIndex) {
            break;
        }

        packageName = name.substring(0, simpleNameStartIndex);
        final JPackage jPackage = typeOracle.findPackage(packageName);
        if (null != jPackage) {
            break;
        }
        name = packageName;
    }

    return packageName;
}