private String getElementTypes (JField f) { StringBuilder b = new StringBuilder(); JParameterizedType params = f.getType().isParameterized(); if (params != null) { JClassType[] typeArgs = params.getTypeArgs(); b.append("new Class[] {"); for (JClassType typeArg : typeArgs) { if (typeArg.isWildcard() != null) b.append("null"); else if (!isVisible(typeArg)) b.append("null"); else if (typeArg.isClassOrInterface() != null) b.append(typeArg.isClassOrInterface().getQualifiedSourceName()).append(".class"); else if (typeArg.isParameterized() != null) b.append(typeArg.isParameterized().getQualifiedBinaryName()).append(".class"); else b.append("null"); b.append(", "); } b.append("}"); return b.toString(); } return "null"; }
private String getElementTypes (JField f) { StringBuilder b = new StringBuilder(); JParameterizedType params = f.getType().isParameterized(); if (params != null) { JClassType[] typeArgs = params.getTypeArgs(); b.append("new Class[] {"); for (JClassType typeArg : typeArgs) { if (typeArg.isWildcard() != null) b.append("null"); else if (!isVisible(typeArg)) b.append("null"); else if (typeArg.isClassOrInterface() != null) b.append(typeArg.isClassOrInterface().getQualifiedSourceName()).append(".class"); else if (typeArg.isParameterized() != null) b.append(typeArg.isParameterized().getQualifiedBinaryName()).append(".class"); else b.append("null"); b.append(", "); } b.append("}"); return b.toString(); } return "null"; }
@Override public String createAssignment(TreeLogger logger, ResourceContext context, JMethod method) throws UnableToCompleteException { JParameterizedType returnType = method.getReturnType().isParameterized(); assert returnType != null; JClassType args[] = returnType.getTypeArgs(); assert args.length == 1; ClassType override = method.getAnnotation(ClassType.class); JClassType toCreate; if (override != null) { toCreate = context.getGeneratorContext().getTypeOracle().findType( override.value().getName().replace('$', '.')); assert toCreate != null; } else { toCreate = args[0]; } JClassType gwtType = context.getGeneratorContext().getTypeOracle().findType( GWT.class.getName()); assert gwtType != null; return "new " + returnType.getParameterizedQualifiedSourceName() + "() {\n public " + toCreate.getQualifiedSourceName() + " create() {\n return " + gwtType.getQualifiedSourceName() + ".create(" + toCreate.getQualifiedSourceName() + ".class);}\n" + "public String getName() { return \"" + method.getName() + "\";}}"; } }
protected JClassType[] getTypesHelper(JType type) { JParameterizedType parameterizedType = type.isParameterized(); if (parameterizedType == null || parameterizedType.getTypeArgs() == null) { return null; } return parameterizedType.getTypeArgs(); }
protected JClassType[] getTypesHelper(JType type) { JParameterizedType parameterizedType = type.isParameterized(); if (parameterizedType == null || parameterizedType.getTypeArgs() == null) { return null; } return parameterizedType.getTypeArgs(); }
private JClassType extractResourceType(JClassType implementedInterface) { JParameterizedType parameterized = implementedInterface.isParameterized(); JClassType[] typeArgs = parameterized.getTypeArgs(); return typeArgs[0]; }
public InjectModelCreator(JField modelField) { this.modelField = modelField; this.fieldType = modelField.getType(); if (this.fieldType instanceof JParameterizedType) { JParameterizedType paramType = (JParameterizedType) this.fieldType; this.beanType = paramType.getTypeArgs()[0]; } else { throw new RuntimeException("modelField can not be injected as Model"); } }
private void addImport(JType type) { JParameterizedType parametrizedType = type.isParameterized(); if (parametrizedType != null) { this.imports.add(parametrizedType.getRawType()); this.imports.addAll(Lists.newArrayList(parametrizedType.getTypeArgs())); } else { this.imports.add(type); } }
private String generateTypeParmString(JParameterizedType t) { StringBuilder builder = new StringBuilder("<"); JClassType[] typeArgs = t.getTypeArgs(); for (int i = 0, typeArgsLength = typeArgs.length; i < typeArgsLength; i++) { JClassType c = typeArgs[i]; builder.append(c.getQualifiedSourceName()); JParameterizedType pt = c.isParameterized(); if (pt != null) builder.append(generateTypeParmString(pt)); if ((i + 1) < typeArgsLength) builder.append(","); } return builder.append(">").toString(); }
private JClassType placeTypeForInterfaces(Collection<? extends JClassType> interfaces) { JClassType rtn = null; for (JClassType i : interfaces) { JParameterizedType parameterizedType = i.isParameterized(); if (parameterizedType != null && placeTokenizerType.equals(parameterizedType.getBaseType())) { rtn = parameterizedType.getTypeArgs()[0]; } } return rtn; } }
private JClassType placeTypeForInterfaces(Collection<? extends JClassType> interfaces) { JClassType rtn = null; for (JClassType i : interfaces) { JParameterizedType parameterizedType = i.isParameterized(); if (parameterizedType != null && placeTokenizerType.equals(parameterizedType.getBaseType())) { rtn = parameterizedType.getTypeArgs()[0]; } } return rtn; } }
/** * Flattens a parameterized type into a simple list of types. */ private void createTypeList(List<JType> accumulator, JType type) { accumulator.add(type); JParameterizedType hasParams = type.isParameterized(); if (hasParams != null) { for (JClassType arg : hasParams.getTypeArgs()) { createTypeList(accumulator, arg); } } }
/** * Flattens a parameterized type into a simple list of types. */ private void createTypeList(List<JType> accumulator, JType type) { accumulator.add(type); JParameterizedType hasParams = type.isParameterized(); if (hasParams != null) { for (JClassType arg : hasParams.getTypeArgs()) { createTypeList(accumulator, arg); } } }
/** * Flattens a parameterized type into a simple list of types. */ private void createTypeList(List<JType> accumulator, JType type) { accumulator.add(type); JParameterizedType hasParams = type.isParameterized(); if (hasParams != null) { for (JClassType arg : hasParams.getTypeArgs()) { createTypeList(accumulator, arg); } } }
private JClassType getBeanType(TreeLogger logger, JClassType validator, JClassType gwtSpecificInterface) throws UnableToCompleteException { if (gwtSpecificInterface instanceof JParameterizedType) { JParameterizedType paramType = (JParameterizedType) gwtSpecificInterface; return paramType.getTypeArgs()[0]; } logger.log(TreeLogger.ERROR, validator.getQualifiedSourceName() + " must implement " + GwtSpecificValidator.class.getCanonicalName() + " with a one generic parameter.", null); throw new UnableToCompleteException(); }
private JClassType getBeanType(TreeLogger logger, JClassType validator, JClassType gwtSpecificInterface) throws UnableToCompleteException { if (gwtSpecificInterface instanceof JParameterizedType) { JParameterizedType paramType = (JParameterizedType) gwtSpecificInterface; return paramType.getTypeArgs()[0]; } logger.log(TreeLogger.ERROR, validator.getQualifiedSourceName() + " must implement " + GwtSpecificValidator.class.getCanonicalName() + " with a one generic parameter.", null); throw new UnableToCompleteException(); }
private JClassType getBeanType(final TreeLogger logger, final JClassType validator, final JClassType gwtSpecificInterface) throws UnableToCompleteException { if (gwtSpecificInterface instanceof JParameterizedType) { final JParameterizedType paramType = (JParameterizedType) gwtSpecificInterface; return paramType.getTypeArgs()[0]; } logger.log(TreeLogger.ERROR, validator.getQualifiedSourceName() + " must implement " + GwtSpecificValidator.class.getCanonicalName() + " with a one generic parameter.", null); throw new UnableToCompleteException(); }
private static JClassType findFactoryType( JClassType placeHistoryMapperWithFactoryType, JClassType interfaceType) { JClassType superInterfaces[] = interfaceType.getImplementedInterfaces(); for (JClassType superInterface : superInterfaces) { JParameterizedType parameterizedType = superInterface.isParameterized(); if (parameterizedType != null && parameterizedType.getBaseType().equals( placeHistoryMapperWithFactoryType)) { return parameterizedType.getTypeArgs()[0]; } } return null; }
private JClassType getTargetType(JClassType interfaceType, TypeOracle typeOracle) { JClassType[] superTypes = interfaceType.getImplementedInterfaces(); JClassType eventBinderType = typeOracle.findType(EventBinder.class.getCanonicalName()); if (superTypes.length != 1 || !superTypes[0].isAssignableFrom(eventBinderType) || superTypes[0].isParameterized() == null) { throw new IllegalArgumentException( interfaceType + " must extend EventBinder with a type parameter"); } return superTypes[0].isParameterized().getTypeArgs()[0]; }
private static JClassType findScopeClass(JClassType type,AngularGwtTypes types) { for (JClassType cType : type.getSuperclass().isParameterized().getTypeArgs()) { if (isScope(cType, types)) { return cType; } } return null; }