protected List<ConfigurationTypeElement> getConfigurations(MutableTypeMirror domainType) { List<ConfigurationTypeElement> domainConfigurations = super.getConfigurations(domainType); if (domainType.getKind().equals(MutableTypeKind.CLASS) || domainType.getKind().equals(MutableTypeKind.INTERFACE)) { List<MutableDeclaredType> domainData = dataTypeResolver.getDomainData((MutableDeclaredType)domainType); if (domainData.size() > 0) { List<ConfigurationTypeElement> dataConfigurations = super.getConfigurations(domainData.get(0)); if (domainConfigurations != null && domainConfigurations.size() > 0) { List<ConfigurationTypeElement> result = new ArrayList<ConfigurationTypeElement>(); result.addAll(domainConfigurations); result.addAll(dataConfigurations); return result; } return dataConfigurations; } } return domainConfigurations; }
if (type.getKind().equals(MutableTypeKind.PRIMITIVE)) { return value.toString();
if (type.getKind().equals(MutableTypeKind.PRIMITIVE) || (javaType != null && unboxType(javaType).getKind().isPrimitive()) || type.equals(processingEnv.getTypeUtils().toMutableType(String.class))) { return types;
if (printableType.getKind().equals(MutableTypeKind.CLASS) || printableType.getKind().equals(MutableTypeKind.INTERFACE)) { printableType = ((MutableDeclaredType)printableType).clone().stripTypeParametersTypes().stripWildcards(); boolean castRequired = (printableType.getKind().equals(MutableTypeKind.INTERFACE) || printableType.getKind().equals(MutableTypeKind.CLASS)) && ((MutableDeclaredType)printableType).hasTypeParameters() && ((MutableDeclaredType)printableType).getTypeVariables().size() == 1 &&
if (domainReturnType.getKind().equals(MutableTypeKind.CLASS) || domainReturnType.getKind().equals(MutableTypeKind.INTERFACE)) { pw.print(prefixDomainParameter(((MutableDeclaredType) remoteServiceTypeElement.toReturnType((DomainDeclared)domainReturnType))).clone()); } else { if (domain.getKind().equals(MutableTypeKind.CLASS) || domain.getKind().equals(MutableTypeKind.INTERFACE)) { pw.print(prefixDomainParameter(((MutableDeclaredType)domain).clone()).stripTypeParametersTypes()); } else {
if (superClassType != null && !superClassType.toString(ClassSerializer.CANONICAL).equals(Object.class.getCanonicalName()) && !type.getKind().equals(MutableTypeKind.INTERFACE)) { pw.print(" extends ", superClassType); if (type.getKind().equals(MutableTypeKind.CLASS)) { pw.print(" implements "); supportedType = true; } else if (type.getKind().equals(MutableTypeKind.INTERFACE)) { pw.print(" extends "); supportedType = true; type.getKind().equals(MutableTypeKind.INTERFACE)) { pw.print(toPrintableType(superClassType)); i++; type.getKind().equals(MutableTypeKind.INTERFACE)) { pw.print(" extends "); pw.print(superClassType);
pw.print(context.getConverter().getConverterBase(), " " + converterName + " = "); Field field = new Field((context.getDomainMethodReturnType().getKind().equals(MutableTypeKind.TYPEVAR) ? "(" + context.getConverter().getDto() + ")" : "") + TransferObjectElementPrinter.DTO_NAME + "." + MethodHelper.toGetter(context.getDtoFieldName()), context.getConverter().getDto()); TransferObjectMappingAccessor transferObjectMappingAccessor = new TransferObjectMappingAccessor(context.getDtoMethod(), processingEnv); pw.print(TransferObjectElementPrinter.RESULT_NAME + "." + MethodHelper.toSetter(domainPathResolver.getPath()) + "("); if (context.getDomainMethodReturnType().getKind().equals(MutableTypeKind.TYPEVAR)) { pw.print("(" + ConverterTypeElement.DOMAIN_TYPE_ARGUMENT_PREFIX + "_" + ((MutableTypeVariable) context.getDomainMethodReturnType()).getVariable().toString() + ")");
if (!type1.getKind().equals(type2.getKind())) { return false;
protected MutableTypeMirror toPrintableType(TypeElement owner, MutableTypeMirror mutableType) { if (mutableType.getKind().equals(MutableTypeKind.TYPEVAR)) { MutableTypeVariable mutableTypeVariable = ((MutableTypeVariable)mutableType);
@Override public boolean isSameType(MutableTypeMirror type) { if (type == null) { return false; } if (!type.getKind().equals(MutableTypeKind.TYPEVAR)) { return false; } MutableTypeVariable typeVariable = (MutableTypeVariable)type; if (getVariable() != null && typeVariable.getVariable() != null) { if (!typeVariable.getVariable().equals(getVariable())) { return false; } } else if (getVariable() == null) { if (typeVariable.getVariable() != null) { return false; } } else { if (typeVariable.getVariable() == null) { return false; } } return true; //TODO validate also bounds }
if (type.getKind().equals(MutableTypeKind.TYPEVAR)) { MutableTypeVariable typeVariable = (MutableTypeVariable)type;
protected void printCopyByLocalConverter(String localConverterName, PathResolver domainPathResolver, DomainType domainMethodReturnType, String dtoField, FormattedPrintWriter pw) { pw.println("if (" + localConverterName + " != null) {"); pw.print(TransferObjectElementPrinter.RESULT_NAME + "." + MethodHelper.toSetter(domainPathResolver.getPath()) + "(" + localConverterName + ".fromDto(" + TransferObjectElementPrinter.DTO_NAME + "." + MethodHelper.toGetter(dtoField) + ")"); pw.println(");"); pw.println("} else {"); pw.print(TransferObjectElementPrinter.RESULT_NAME + "." + MethodHelper.toSetter(domainPathResolver.getPath())); if (domainMethodReturnType.getKind().equals(MutableTypeKind.TYPEVAR)) { pw.print("((" + ConverterTypeElement.DOMAIN_TYPE_ARGUMENT_PREFIX + "_" + ((MutableTypeVariable) domainMethodReturnType).getVariable() + ")"); } else { pw.print("((" + domainMethodReturnType + ")"); } pw.print(TransferObjectElementPrinter.DTO_NAME + "." + MethodHelper.toGetter(dtoField)); pw.println(");"); pw.println("}"); } }
private void collectTypeConverters(MutableTypeMirror type, Set<ConverterTypeElement> converters, List<ConverterConstructorParameter> parameters) { DtoType dtoType = processingEnv.getTransferObjectUtils().getDtoType(type); ConverterTypeElement converter = dtoType.getConverter(); if (converter != null && !converters.contains(converter)) { parameters.addAll(converter.getConverterParameters(parametersResolverProvider.getParameterResolver(UsageType.DEFINITION), ConverterInstancerType.SERVICE_CONVERETR_INSTANCER)); converters.add(converter); if (dtoType.getKind().equals(MutableTypeKind.CLASS) || dtoType.getKind().equals(MutableTypeKind.INTERFACE)) { for (MutableTypeVariable typeVariable: ((MutableDeclaredType)dtoType).getTypeVariables()) { for (MutableTypeMirror lowerBound: typeVariable.getLowerBounds()) { collectTypeConverters(lowerBound, converters, parameters); } for (MutableTypeMirror upperBound: typeVariable.getUpperBounds()) { collectTypeConverters(upperBound, converters, parameters); } } } } }
protected void printCopyByLocalConverter(String domainField, DomainType domainMethodReturnType, String dtoField, FormattedPrintWriter pw) { pw.println("} else {"); pw.print(TransferObjectElementPrinter.RESULT_NAME + "." + MethodHelper.toSetter(dtoField)); if (domainMethodReturnType.getKind().equals(MutableTypeKind.TYPEVAR)) { pw.print("((" + ConverterTypeElement.DTO_TYPE_ARGUMENT_PREFIX + "_" + ((MutableTypeVariable)domainMethodReturnType).getVariable() + ")"); } else { pw.print("((", domainMethodReturnType.getDto(), ")"); } pw.print(TransferObjectElementPrinter.DOMAIN_NAME + "." + domainField); pw.println(");"); pw.println("}"); } }
@Override public TypeElement asElement() { if (asType() == null || !(getKind().equals(MutableTypeKind.ANNOTATION_TYPE) || getKind().equals(MutableTypeKind.CLASS) || getKind().equals(MutableTypeKind.INTERFACE) || getKind().equals(MutableTypeKind.ENUM))) { return null; } TypeMirror type = asType(); return (TypeElement)((DeclaredType)type).asElement(); }
private Set<? extends MutableTypeMirror> stripTypeParametersTypes(Set<? extends MutableTypeMirror> bounds) { for (MutableTypeMirror bound: bounds) { if (bound.getKind().equals(MutableTypeKind.CLASS) || bound.getKind().equals(MutableTypeKind.INTERFACE)) { ((MutableDeclaredType)bound).stripTypeParametersTypes(); } } return bounds; }