Package org.springframework.roo.classpath.details

Examples of org.springframework.roo.classpath.details.ConstructorMetadataBuilder


        // Search for an existing constructor
        final ConstructorMetadata existingExplicitConstructor = governorTypeDetails
                .getDeclaredConstructor(null);
        if (existingExplicitConstructor != null) {
            // Found an existing no-arg constructor on this class, so return it
            return new ConstructorMetadataBuilder(existingExplicitConstructor);
        }

        // To get this far, the user did not define a no-arg constructor
        if (governorTypeDetails.getDeclaredConstructors().isEmpty()) {
            // Java creates the default constructor => no need to add one
            return null;
        }

        // Create the constructor
        final InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder();
        bodyBuilder.appendFormalLine("super();");

        final ConstructorMetadataBuilder constructorBuilder = new ConstructorMetadataBuilder(
                getId());
        constructorBuilder.setBodyBuilder(bodyBuilder);
        constructorBuilder.setModifier(Modifier.PUBLIC);
        return constructorBuilder;
    }
View Full Code Here


        }
    }

    @Override
    public ConstructorMetadata build() {
        final ConstructorMetadataBuilder constructorBuilder = new ConstructorMetadataBuilder(
                declaredByMetadataId);
        constructorBuilder.setAnnotations(annotations);
        constructorBuilder.setBodyBuilder(InvocableMemberBodyBuilder
                .getInstance().append(body));
        constructorBuilder.setModifier(modifier);
        constructorBuilder.setParameterNames(parameterNames);
        constructorBuilder.setParameterTypes(parameterTypes);
        constructorBuilder.setThrowsTypes(throwsTypes);
        return constructorBuilder.build();
    }
View Full Code Here

                    + fieldName + ";");
            parameterNames.add(field.getFieldName());
        }

        // Create the constructor
        final ConstructorMetadataBuilder constructorBuilder = new ConstructorMetadataBuilder(
                declaredByMetadataId);
        constructorBuilder.setModifier(Modifier.PUBLIC);
        constructorBuilder.setParameterTypes(AnnotatedJavaType
                .convertFromJavaTypes(parameterTypes));
        constructorBuilder.setParameterNames(parameterNames);
        constructorBuilder.setBodyBuilder(bodyBuilder);

        final ClassOrInterfaceTypeDetailsBuilder cidBuilder = new ClassOrInterfaceTypeDetailsBuilder(
                javaTypeDetails);
        cidBuilder.addConstructor(constructorBuilder);
        typeManagementService.createOrUpdateTypeOnDisk(cidBuilder.build());
View Full Code Here

        // Create the constructor
        final InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder();
        bodyBuilder.appendFormalLine("super();");

        final ConstructorMetadataBuilder constructorBuilder = new ConstructorMetadataBuilder(
                getId());
        constructorBuilder.setModifier(publicNoArgConstructor ? Modifier.PUBLIC
                : Modifier.PRIVATE);
        constructorBuilder.setParameterTypes(AnnotatedJavaType
                .convertFromJavaTypes(parameterTypes));
        constructorBuilder.setBodyBuilder(bodyBuilder);
        return constructorBuilder;
    }
View Full Code Here

                    + fieldName + ";");
            parameterNames.add(field.getFieldName());
        }

        // Create the constructor
        final ConstructorMetadataBuilder constructorBuilder = new ConstructorMetadataBuilder(
                getId());
        constructorBuilder.setModifier(Modifier.PUBLIC);
        constructorBuilder.setParameterTypes(AnnotatedJavaType
                .convertFromJavaTypes(parameterTypes));
        constructorBuilder.setParameterNames(parameterNames);
        constructorBuilder.setBodyBuilder(bodyBuilder);
        return constructorBuilder;
    }
View Full Code Here

            }
        }
    }

    public ConstructorMetadata build() {
        final ConstructorMetadataBuilder constructorBuilder = new ConstructorMetadataBuilder(
                declaredByMetadataId);
        constructorBuilder.setAnnotations(annotations);
        constructorBuilder.setBodyBuilder(InvocableMemberBodyBuilder
                .getInstance().append(body));
        constructorBuilder.setModifier(modifier);
        constructorBuilder.setParameterNames(parameterNames);
        constructorBuilder.setParameterTypes(parameterTypes);
        constructorBuilder.setThrowsTypes(throwsTypes);
        return constructorBuilder.build();
    }
View Full Code Here

    final InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder();
    bodyBuilder.appendFormalLine("super();");
    bodyBuilder.appendFormalLine("this." + CS_FIELD + " = " + CS_FIELD
        + ";");

    final ConstructorMetadataBuilder constructorBuilder = new ConstructorMetadataBuilder(
        getId());
    constructorBuilder.addAnnotation(new AnnotationMetadataBuilder(
        AUTOWIRED));
    constructorBuilder.addParameterType(AnnotatedJavaType
        .convertFromJavaType(CONVERSION_SERVICE));
    constructorBuilder.addParameterName(CS_FIELD);
    constructorBuilder.setModifier(Modifier.PUBLIC);
    constructorBuilder.setBodyBuilder(bodyBuilder);
    return constructorBuilder;
  }
View Full Code Here

        cidBuilder.add(concreteClass.getRegisteredImports());

        for (final MemberHoldingTypeDetails extendsTypeDetails : extendsTypesDetails) {
            for (final ConstructorMetadata constructor : extendsTypeDetails
                    .getDeclaredConstructors()) {
                final ConstructorMetadataBuilder abstractConstructor = new ConstructorMetadataBuilder(
                        abstractId);
                abstractConstructor.setModifier(constructor.getModifier());

                final Map<JavaSymbolName, JavaType> typeMap = resolveTypes(
                        extendsTypeDetails.getName(), concreteClass
                                .getExtendsTypes().get(0));
                for (final AnnotatedJavaType type : constructor
                        .getParameterTypes()) {
                    JavaType newType = type.getJavaType();
                    if (type.getJavaType().getParameters().size() > 0) {
                        final ArrayList<JavaType> parameterTypes = new ArrayList<JavaType>();
                        for (final JavaType typeType : type.getJavaType()
                                .getParameters()) {
                            final JavaType typeParam = typeMap
                                    .get(new JavaSymbolName(typeType.toString()));
                            if (typeParam != null) {
                                parameterTypes.add(typeParam);
                            }
                        }
                        newType = new JavaType(type.getJavaType()
                                .getFullyQualifiedTypeName(), type
                                .getJavaType().getArray(), type.getJavaType()
                                .getDataType(),
                                type.getJavaType().getArgName(), parameterTypes);
                    }
                    abstractConstructor.getParameterTypes().add(
                            new AnnotatedJavaType(newType));
                }
                abstractConstructor.setParameterNames(constructor
                        .getParameterNames());

                final InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder();
                bodyBuilder.newLine().indent().append("super(");

                int i = 0;
                for (final JavaSymbolName paramName : abstractConstructor
                        .getParameterNames()) {
                    bodyBuilder.append(" ").append(paramName.getSymbolName());
                    if (abstractConstructor.getParameterTypes().size() > i + 1) {
                        bodyBuilder.append(", ");
                    }
                    i++;
                }

                bodyBuilder.append(");");

                bodyBuilder.newLine().indentRemove();
                abstractConstructor.setBodyBuilder(bodyBuilder);
                cidBuilder.getDeclaredConstructors().add(abstractConstructor);
            }
        }
        return cidBuilder;
    }
View Full Code Here

TOP

Related Classes of org.springframework.roo.classpath.details.ConstructorMetadataBuilder

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.