Example usage for javax.lang.model.type TypeMirror toString

List of usage examples for javax.lang.model.type TypeMirror toString

Introduction

In this page you can find the example usage for javax.lang.model.type TypeMirror toString.

Prototype

String toString();

Source Link

Document

Returns an informative string representation of this type.

Usage

From source file:cop.raml.utils.ImportScanner.java

public TypeElement getElement(TypeMirror type) {
    return getElement(type != null ? type.toString() : null);
}

From source file:android.databinding.tool.store.SetterStore.java

private static String getQualifiedName(TypeMirror type) {
    if (type.getKind() == TypeKind.ARRAY) {
        return getQualifiedName(((ArrayType) type).getComponentType()) + "[]";
    } else {/*www  .jav a  2s . com*/
        return type.toString();
    }
}

From source file:com.wesleyhome.dao.processor.method.IncludeQueryMethodGenerator.java

@Override
public void createMethods(final JCodeModel model, final JClass entityClassRef,
        final JDefinedClass generatedClass, final JFieldVar entityManagerField, final EntityInfo entityInfo,
        final EntityInformationMap entityInfoMap, final QueryParameterInfo queryParameterInfo) {
    VariableElement fieldElement = queryParameterInfo.getFieldElement();
    TypeMirror fieldTypeMirror = fieldElement.asType();
    String fieldTypeString = fieldTypeMirror.toString();
    JClass fieldType = model.ref(fieldTypeString);
    if (generatedClass.isInterface() || queryParameterInfo != null && queryParameterInfo.isGenerate()) {
        createCollectionParameterMethod(model, entityClassRef, generatedClass, fieldElement, fieldType,
                entityManagerField, entityInfoMap, queryParameterInfo.getMappingType());
    }//  w  ww .ja v a 2s .  c  o m
}

From source file:com.wesleyhome.dao.processor.method.IncludeQueryMethodGenerator.java

private JClass getParameterType(final JCodeModel model, final JClass fieldType,
        final EntityInformationMap entityInfoMap, final MappingType mappingType) {
    JClass parameterType = null;//  www .  j a v a 2 s . co  m
    String fullName = fieldType.fullName();
    EntityInfo foreignKeyInfo = entityInfoMap.get(fullName);
    List<Element> foreignKeyIdElms = foreignKeyInfo == null ? null : foreignKeyInfo.getIdElements();
    if (foreignKeyIdElms == null || foreignKeyIdElms.size() > 1) {
        parameterType = fieldType;
    } else {
        switch (mappingType) {
        case UNIQUE_OBJECT:
        case OBJECT:
            parameterType = fieldType;
            break;
        case ONE_TO_ONE:
        case MANY_TO_ONE:
        default:
            Element element = foreignKeyIdElms.get(0);
            TypeMirror fieldTypeMirror = element.asType();
            String fieldTypeString = fieldTypeMirror.toString();
            parameterType = model.ref(fieldTypeString);
            break;
        }
    }
    return parameterType;
}

From source file:cop.raml.utils.example.JsonExample.java

/**
 * Retrieve example for given {@code element}. First of all it checks existed {@link #cache} and if example for given {@code element} was already
 * in cache, then return it. Then it tries to generate example for simple types (e.g. primitives, Date, UUID). If examples is still not found,
 * then use {@link Config#ramlSkip} filter to filter out some element types and invoke {@link #getTypeExample(TypeElement, Set)}. Put result to
 * cache if it is not {@code null}.//w  w w  .  j  ava  2s. co m
 *
 * @param element element for example
 * @param visited visited element types (it's used to prevent cycle references)
 * @return example object ({@link Map} or {@link Set}) or {@code null} if example is not found
 */
private Object getElementExample(@NotNull Element element, @NotNull Set<String> visited) {
    try {
        ThreadLocalContext.getImportScanner().setCurrentElement(element);
        TypeMirror type = ElementUtils.getType(element);
        String className = type.toString();

        Object res;

        if (cache.containsKey(className))
            res = cache.get(className);
        else if (ElementUtils.isEnum(type))
            res = getEnumExample(type);
        else if ((res = getAutoGeneratedElementExample(element, random)) == null) {
            if (String.class.getName().equals(className))
                res = element.getSimpleName().toString();
            else if (!Config.get().ramlSkip(type.toString())) {
                TypeElement obj = element instanceof TypeElement ? (TypeElement) element
                        : ElementUtils.asElement(type);

                if ((res = getTypeExample(obj, visited)) != null)
                    cache.putIfAbsent(className, res);
            }
        }

        if (res == null)
            return null;
        if (ElementUtils.isArray(element) || ElementUtils.isCollection(element))
            return Collections.singleton(res);
        return res;
    } catch (Exception ignored) {
        return null;
    }
}

From source file:com.spotify.docgenerator.JacksonJerseyAnnotationProcessor.java

/**
 * Make a {@link TypeDescriptor} by examining the {@link TypeMirror} and recursively looking
 * at the generic arguments to the type (if they exist).
 *///www .  j  ava  2 s  .  co  m
private TypeDescriptor makeTypeDescriptor(final TypeMirror type) {
    if (type.getKind() != TypeKind.DECLARED) {
        return new TypeDescriptor(type.toString(), ImmutableList.<TypeDescriptor>of());
    }
    final DeclaredType dt = (DeclaredType) type;

    final String plainType = processingEnv.getTypeUtils().erasure(type).toString();
    final List<TypeDescriptor> typeArgumentsList = Lists.newArrayList();
    final List<? extends TypeMirror> typeArguments = dt.getTypeArguments();
    for (final TypeMirror arg : typeArguments) {
        typeArgumentsList.add(makeTypeDescriptor(arg));
    }
    return new TypeDescriptor(plainType, typeArgumentsList);
}

From source file:org.androidtransfuse.analysis.ServiceAnalysis.java

public ComponentDescriptor analyze(ASTType input) {

    Service serviceAnnotation = input.getAnnotation(Service.class);
    PackageClass serviceClassName;/*  w  w  w .  j  a  v  a 2 s .  co m*/
    ComponentDescriptor activityDescriptor = null;

    if (input.extendsFrom(astClassFactory.getType(android.app.Service.class))) {
        //vanilla Android Service
        PackageClass activityPackageClass = input.getPackageClass();
        serviceClassName = buildPackageClass(input, activityPackageClass.getClassName());
    } else {
        //generated Android Service
        serviceClassName = buildPackageClass(input, serviceAnnotation.name());

        TypeMirror type = getTypeMirror(new ServiceTypeMirrorRunnable(serviceAnnotation));

        String serviceType = type == null ? android.app.Service.class.getName() : type.toString();

        AnalysisContext context = analysisContextFactory.buildAnalysisContext(buildVariableBuilderMap(type));

        activityDescriptor = new ComponentDescriptor(serviceType, serviceClassName);

        //application generation profile
        setupServiceProfile(activityDescriptor, input, context);
    }

    //add manifest elements
    setupManifest(serviceClassName.getFullyQualifiedName(), serviceAnnotation, input);

    return activityDescriptor;
}

From source file:org.leandreck.endpoints.processor.model.TypeNodeFactory.java

private TypeNode initType(final String fieldName, final String parameterName, final boolean optional,
        final TypeNodeKind typeNodeKind, final TypeMirror typeMirror, final DeclaredType containingType) {
    final String key = typeMirror.toString();
    if (nodes.containsKey(key) && !TypeKind.TYPEVAR.equals(typeMirror.getKind())) {
        final ProxyNode proxyNode = new ProxyNode(fieldName, parameterName, optional);
        proxyNode.setNode(nodes.get(key));
        return proxyNode;
    }//from   ww  w. j  a v  a 2 s .  co  m

    try {
        final ProxyNode proxyNode = new ProxyNode(fieldName, parameterName, optional);
        nodes.put(key, proxyNode);

        final ConcreteTypeNodeFactory nodeFactory = factories.get(typeNodeKind);
        final TypeNode newTypeNode = nodeFactory.createTypeNode(fieldName, parameterName, optional, typeMirror,
                containingType);
        proxyNode.setNode(newTypeNode);
        nodes.put(key, newTypeNode);
        return newTypeNode;
    } catch (Exception e) {
        throw new UnkownTypeProcessingException(e);
    }
}

From source file:com.contentful.vault.compiler.Processor.java

private boolean isList(Element element) {
    TypeMirror typeMirror = element.asType();
    if (List.class.getName().equals(typeMirror.toString())) {
        return true;
    }/*from w w w.j  a v a 2  s. c om*/
    return typeMirror instanceof DeclaredType
            && List.class.getName().equals(((DeclaredType) typeMirror).asElement().toString());
}

From source file:com.contentful.vault.compiler.Processor.java

private boolean isSubtypeOfType(TypeMirror typeMirror, String otherType) {
    if (otherType.equals(typeMirror.toString())) {
        return true;
    }//  www  . j  av a 2s  .  c om
    if (!(typeMirror instanceof DeclaredType)) {
        return false;
    }
    DeclaredType declaredType = (DeclaredType) typeMirror;
    List<? extends TypeMirror> typeArguments = declaredType.getTypeArguments();
    if (typeArguments.size() > 0) {
        StringBuilder typeString = new StringBuilder(declaredType.asElement().toString());
        typeString.append('<');
        for (int i = 0; i < typeArguments.size(); i++) {
            if (i > 0) {
                typeString.append(',');
            }
            typeString.append('?');
        }
        typeString.append('>');
        if (typeString.toString().equals(otherType)) {
            return true;
        }
    }
    Element element = declaredType.asElement();
    if (!(element instanceof TypeElement)) {
        return false;
    }
    TypeElement typeElement = (TypeElement) element;
    TypeMirror superType = typeElement.getSuperclass();
    if (isSubtypeOfType(superType, otherType)) {
        return true;
    }
    for (TypeMirror interfaceType : typeElement.getInterfaces()) {
        if (isSubtypeOfType(interfaceType, otherType)) {
            return true;
        }
    }
    return false;
}