@Override public MutableDeclaredType setTypeVariables(MutableTypeVariable... mutableTypeVariables) { return ensureDelegateType().setTypeVariables(mutableTypeVariables); }
protected MutableTypeMirror getTypeVariableDelegate(MutableTypeMirror domainDelegate) { if (domainDelegate.getKind().isDeclared() && ((MutableDeclaredType)domainDelegate).getTypeVariables().size() == 1) { MutableTypeVariable mutableTypeVariable = ((MutableDeclaredType)domainDelegate).getTypeVariables().get(0); if (mutableTypeVariable.getUpperBounds().size() == 1) { return mutableTypeVariable.getUpperBounds().iterator().next(); } if (mutableTypeVariable.getLowerBounds().size() == 1) { return mutableTypeVariable.getLowerBounds().iterator().next(); } return mutableTypeVariable; } if (domainDelegate.getKind().isDeclared()) { return ((MutableDeclaredType)domainDelegate).clone().setTypeVariables(); } return domainDelegate; }
protected MutableDeclaredType getDataType(MutableDeclaredType inputType) { if (inputType.getTypeVariables().size() > 0) { MutableTypeVariable[] typeVariables = new MutableTypeVariable[inputType.getTypeVariables().size()]; for (int i = 0; i < inputType.getTypeVariables().size(); i++) { typeVariables[i] = processingEnv.getTypeUtils().getTypeVariable(MutableWildcardType.WILDCARD_NAME); } inputType = inputType.clone().setTypeVariables(typeVariables); } if (inputType.getAnnotation(DomainInterface.class) != null) { return new DomainDataInterfaceType(inputType, processingEnv); } return inputType; }
protected MutableTypeMirror getWildcardDelegate(MutableTypeMirror domainDelegate) { if (domainDelegate.getKind().isDeclared() && ((MutableDeclaredType)domainDelegate).getTypeVariables().size() == 1) { return ((MutableDeclaredType)domainDelegate).clone().setTypeVariables(processingEnv.getTypeUtils().getWildcardType((MutableTypeMirror)null, (MutableTypeMirror)null)); } return domainDelegate; }
protected MutableDeclaredType getDataObject(MutableDeclaredType type) { if (type.asType() != null) { if (new DomainInterfaceAccessor(((DeclaredType)type.asType()).asElement(), processingEnv).isValid()) { return new DomainDataInterfaceType((MutableDeclaredType)type, processingEnv); } } if (type.hasTypeParameters()) { List<? extends MutableTypeVariable> typeVariables = type.getTypeVariables(); MutableTypeVariable[] dataTypeVariables = new MutableTypeVariable[typeVariables.size()]; int i = 0; for (MutableTypeVariable typeVariable: typeVariables) { dataTypeVariables[i++] = getDataObject(typeVariable); } type.setTypeVariables(dataTypeVariables); } return type; }
((MutableDeclaredType)mutableType).setTypeVariables(arguments.toArray(new MutableTypeVariable[] {}));
(MutableDeclaredType) processingEnv.getTypeUtils().toMutableType(fieldType), processingEnv).clone().setTypeVariables(), ".class);"); pw.println("}"); pw.println("this." + field + ".setBeanWrapperContent((", fieldType, ")" + parameter.getSimpleName().toString() + ");");
public ThemeUiBinderType(String name, MutableDeclaredType type, MutableProcessingEnvironment processingEnv) { this.mutableTypes = processingEnv.getTypeUtils(); this.prefixName = name; setKind(MutableTypeKind.INTERFACE); setSuperClass(mutableTypes.toMutableType(UiBinder.class).setTypeVariables(mutableTypes.getTypeVariable(null, mutableTypes.toMutableType(Element.class)), mutableTypes.getTypeVariable(null, type))); setModifier(); }
interfaces.add(interfaceType.clone().setTypeVariables(typeParameters) .renameTypeParameter(RenameActionType.REPLACE, null)); wildcardType.add(processingEnv.getTypeUtils().getWildcardType((MutableTypeMirror)null, null)); mutableDataInterface.setTypeVariables(wildcardType.toArray(new MutableTypeVariable[] {}));
domainNamedType = replacementType.clone().setTypeVariables(((MutableDeclaredType)domainNamedType).getTypeVariables().toArray(new MutableTypeVariable[] {})); } else { domainNamedType = replacementType;
return ((MutableDeclaredType)mutableType).clone().setTypeVariables(printableTypeVariables.toArray(new MutableTypeVariable[] {}));
((MutableDeclaredType)parameterElement.asType()).setTypeVariables(typeVariables.toArray(new MutableTypeVariable[] {}));
private MutableDeclaredType toOutput(MutableDeclaredType inputType, MutableProcessingEnvironment processingEnv) { MutableDeclaredType result = inputType.clone(); PackageValidator packageValidator = getPackageValidatorProvider().get(result); if (packageValidator.isValid()) { packageValidator.moveTo(LocationType.SERVER).moveTo(LayerType.DAO).moveTo(ImplementationType.API); } else { packageValidator.setType(LocationType.SERVER.getName() + "." + LayerType.DAO.getName() + "." + ImplementationType.API.getName()); } return result.changePackage(packageValidator.toString()) .addClassSufix(DAO_API_CLASS_SUFFIX) .setTypeVariables(processingEnv.getTypeUtils().getTypeVariable("T", getDataType(inputType))); }
private MutableTypeMirror findSubtypesForWildcards(MutableTypeMirror type, ExecutableElement ownerMethod) { if (type == null) { return null; } switch (type.getKind()) { case CLASS: case INTERFACE: MutableDeclaredType clone = ((MutableDeclaredType)type).clone(); List<? extends MutableTypeVariable> typeVariables = clone.getTypeVariables(); clone.setTypeVariables(getSubtypesForWildcards((MutableDeclaredType)processingEnv.getTypeUtils().toMutableType(processingEnv.getElementUtils().getTypeElement(((MutableDeclaredType)type).getCanonicalName())), typeVariables, ownerMethod).toArray(new MutableTypeVariable[] {})); return clone; case TYPEVAR: if (((MutableTypeVariable)type).getVariable() != null && ((MutableTypeVariable)type).getVariable() == MutableWildcardType.WILDCARD_NAME) { return getBoundType(((MutableTypeVariable)type).clone(), ownerMethod); } default: return type; } }
new BeanWrapperImplementationType((MutableDeclaredType) mutableReturnType, processingEnv).clone().setTypeVariables(), ".class);"); pw.println("if(" + BEAN_WRAPPER_CONTENT + " != null) {"); pw.println("this." + field + ".setBeanWrapperContent(" + BEAN_WRAPPER_CONTENT + "." + method.getSimpleName().toString() + "());");
@Override public void print(DaoContext context) { MutableDeclaredType declaredType = context.getProcessingEnv().getTypeUtils().toMutableType(Class.class); declaredType.setTypeVariables(context.getProcessingEnv().getTypeUtils().getWildcardType(context.getDomainType(), null)); pw.println("public ", context.getDaoType(), "() {"); pw.println("super(", context.getDomainType(), ".class);"); pw.println("}"); pw.println(); pw.println("public ", context.getDaoType(), "(", declaredType , " clazz) {"); pw.println("super(clazz);"); pw.println("}"); } }