public boolean hasCustomerConstructorDefined(ConfigurationTypeElement configurationTypeElement) { //TODO handle superclass configuration also List<ExecutableElement> methods = ElementFilter.methodsIn(configurationTypeElement.asConfigurationElement().getEnclosedElements()); for (ExecutableElement method: methods) { if (new ConstructorParameterAccessor(method, processingEnv).isValid()) { return true; } } return false; } }
protected boolean isReadOnlyMethod(ReadOnlyAccessor readOnlyAccessor, ExecutableElement method) { return readOnlyAccessor.isReadonly() && (!MethodHelper.toField(method).equals(method.getSimpleName().toString()) || ReadOnly.PropertyType.METHOD.equals(readOnlyAccessor.getPropertyType())); }
@Override public void initialize(ConfigurationTypeElement configurationTypeElement, MutableDeclaredType outputName) { active = new GenerateCloneAccessor(configurationTypeElement.asConfigurationElement(), processingEnv).generate(); if (!active) { return; } DtoDeclaredType dto = configurationTypeElement.getDto(); pw.println("public ", dto, " clone() {"); pw.println(dto, " " + RESULT_NAME + " = new ", dto, "();"); pw.println(); }
boolean readOnlyProperty = new ReadOnlyAccessor(method, processingEnv).isReadonly();
/** * Prints the definition of the hashCode method with the initial prechecks */ @Override public void initialize(ConfigurationTypeElement configurationTypeElement, MutableDeclaredType outputType) { this.outputType = outputType; GenerateHashcodeAccessor generateHashcodeAccessor = new GenerateHashcodeAccessor(configurationTypeElement.asConfigurationElement(), processingEnv); active = generateHashcodeAccessor.generate(); equalsType = generateHashcodeAccessor.getType(); hasKey = configurationTypeElement.hasKey(); if (!active) { return; } if (equalsType.equals(TraversalType.CYCLIC_SAFE)) { pw.println("private boolean processingHashCode = false;"); } pw.println(""); pw.println("@Override"); pw.println("public int hashCode() {"); pw.println("final int prime = 31;"); //TODO we should call also super.hashcode - but only when there is any superclass with implemented hashcode method DomainDeclaredType superClass = configurationTypeElement.getInstantiableDomain().getSuperClass(); if (superClass != null && superClass.getDomainDefinitionConfiguration() != null && new GenerateEqualsAccessor(superClass.getDomainDefinitionConfiguration().asConfigurationElement(), processingEnv).generate()) { pw.println("int result = super.hashCode();"); } else { pw.println("int result = 1;"); } }
GenerateEqualsAccessor generateEqualsAccessor = new GenerateEqualsAccessor(configurationTypeElement.asConfigurationElement(), processingEnv); active = generateEqualsAccessor.generate(); equalsType = generateEqualsAccessor.getType(); new GenerateEqualsAccessor(superClass.getDomainDefinitionConfiguration().asConfigurationElement(), processingEnv).generate()) { pw.println("if (!super.equals(obj))"); pw.println(" return false;");
CopyAccessor copyAccessor = new CopyAccessor(overridenMethod, processingEnv); if (copyAccessor.isMethodBodyCopied()) { TypeElement typeElement = processingEnv.getElementUtils().getTypeElement(configurationTypeElement.getInstantiableDomain().getCanonicalName());
protected List<AnnotationMirror> getSupportedAnnotations(TransferObjectContext context) { if (typeCopyAccessor == null) { typeCopyAccessor = new CopyAccessor(context.getConfigurationTypeElement().asConfigurationElement(), processingEnv); } CopyAccessor methodCopyAccessor = new CopyAccessor(context.getDtoMethod(), processingEnv); List<AnnotationMirror> supportedAnnotations = new ArrayList<AnnotationMirror>(); if (context.getDomainMethod() != null) { add(supportedAnnotations, methodCopyAccessor.getSupportedAnnotations(context.getInstantiableDomainMethod())); add(supportedAnnotations, methodCopyAccessor.getSupportedAnnotations(MethodHelper.getField(context.getDomainMethod()))); } add(supportedAnnotations, methodCopyAccessor.getSupportedAnnotations(context.getDtoMethod())); if (context.getDomainMethod() != null) { add(supportedAnnotations, typeCopyAccessor.getSupportedAnnotations(context.getInstantiableDomainMethod())); add(supportedAnnotations, typeCopyAccessor.getSupportedAnnotations(MethodHelper.getField(context.getDomainMethod()))); } add(supportedAnnotations, typeCopyAccessor.getSupportedAnnotations(context.getDtoMethod())); return supportedAnnotations; }
ReadOnlyAccessor readOnlyAccessor = new ReadOnlyAccessor(method, processingEnv); boolean readOnlyProperty = readOnlyAccessor.isReadonly();
dtoHasClone = new GenerateCloneAccessor(domain.getDomainDefinitionConfiguration().asConfigurationElement(), processingEnv).generate(); dtoHasClone = new GenerateCloneAccessor(context.getDomainMethodReturnType().getDomainDefinitionConfiguration().asConfigurationElement(), processingEnv).generate();
CopyAccessor copyAccessor = new CopyAccessor(overridenMethod, processingEnv); if (copyAccessor.isMethodBodyCopied()) { generated.add(TransferObjectHelper.getFieldPath(overridenMethod));
if (new ReadOnlyAccessor(context.getDtoMethod(), processingEnv).isReadonly()) { return;