Package org.springframework.roo.classpath.details.annotations

Examples of org.springframework.roo.classpath.details.annotations.AnnotationMetadataBuilder


        final List<AnnotationMetadataBuilder> annotations = new ArrayList<AnnotationMetadataBuilder>();
        final List<AnnotationAttributeValue<?>> dodConfig = new ArrayList<AnnotationAttributeValue<?>>();
        dodConfig.add(new ClassAttributeValue(new JavaSymbolName("entity"),
                entity));
        annotations.add(new AnnotationMetadataBuilder(
                RooJavaType.ROO_DATA_ON_DEMAND, dodConfig));

        final ClassOrInterfaceTypeDetailsBuilder cidBuilder = new ClassOrInterfaceTypeDetailsBuilder(
                declaredByMetadataId, Modifier.PUBLIC, name,
                PhysicalTypeCategory.CLASS);
View Full Code Here


        final ClassOrInterfaceTypeDetails cid = (ClassOrInterfaceTypeDetails) ptd;
        if (null == MemberFindingUtils.getAnnotationOfType(
                cid.getAnnotations(), RooJavaType.ROO_WEB_FINDER)) {
            final ClassOrInterfaceTypeDetailsBuilder cidBuilder = new ClassOrInterfaceTypeDetailsBuilder(
                    cid);
            cidBuilder.addAnnotation(new AnnotationMetadataBuilder(
                    RooJavaType.ROO_WEB_FINDER));
            typeManagementService.createOrUpdateTypeOnDisk(cidBuilder.build());
        }
    }
View Full Code Here

    @Override
    public void decorateAnnotationsList(
            final List<AnnotationMetadataBuilder> annotations) {
        super.decorateAnnotationsList(annotations);
        if (assertTrue) {
            annotations.add(new AnnotationMetadataBuilder(ASSERT_TRUE));
        }
        if (assertFalse) {
            annotations.add(new AnnotationMetadataBuilder(ASSERT_FALSE));
        }
    }
View Full Code Here

                    new EnumDetails(FETCH_TYPE, value)));
        }

        switch (cardinality) {
        case ONE_TO_MANY:
            annotations.add(new AnnotationMetadataBuilder(ONE_TO_MANY,
                    attributes));
            break;
        case MANY_TO_MANY:
            annotations.add(new AnnotationMetadataBuilder(MANY_TO_MANY,
                    attributes));
            break;
        case ONE_TO_ONE:
            annotations.add(new AnnotationMetadataBuilder(ONE_TO_ONE,
                    attributes));
            break;
        default:
            annotations.add(new AnnotationMetadataBuilder(MANY_TO_ONE,
                    attributes));
            break;
        }

        if (joinColumnName != null) {
            final List<AnnotationAttributeValue<?>> joinColumnAttrs = new ArrayList<AnnotationAttributeValue<?>>();
            joinColumnAttrs.add(new StringAttributeValue(new JavaSymbolName(
                    "name"), joinColumnName));

            if (referencedColumnName != null) {
                joinColumnAttrs.add(new StringAttributeValue(
                        new JavaSymbolName("referencedColumnName"),
                        referencedColumnName));
            }
            annotations.add(new AnnotationMetadataBuilder(JOIN_COLUMN,
                    joinColumnAttrs));
        }
    }
View Full Code Here

                    "ignored"), fieldName));
        }

        attributes.add(new ArrayAttributeValue<StringAttributeValue>(
                new JavaSymbolName("excludeFields"), ignoreFields));
        final AnnotationMetadataBuilder toStringAnnotationBuilder = new AnnotationMetadataBuilder(
                ROO_TO_STRING, attributes);
        updatedGovernorBuilder = new ClassOrInterfaceTypeDetailsBuilder(
                governorTypeDetails);
        toStringAnnotation = toStringAnnotationBuilder.build();
        updatedGovernorBuilder.updateTypeAnnotation(toStringAnnotation,
                new HashSet<JavaSymbolName>());
    }
View Full Code Here

        // Add annotations to field
        final List<AnnotationMetadataBuilder> annotations = new ArrayList<AnnotationMetadataBuilder>();

        // Add @Column annotation
        final AnnotationMetadataBuilder columnBuilder = new AnnotationMetadataBuilder(
                COLUMN);
        columnBuilder.addStringAttribute(NAME, column.getEscapedName());
        if (includeNonPortable) {
            columnBuilder.addStringAttribute("columnDefinition",
                    column.getTypeName());
        }

        // Add length attribute for Strings
        int columnSize = column.getColumnSize();
        if (columnSize < 4000 && fieldType.equals(JavaType.STRING)) {
            columnBuilder.addIntegerAttribute("length", columnSize);
        }

        // Add precision and scale attributes for numeric fields
        if (columnSize > 0 && JdkJavaType.isDecimalType(fieldType)) {
            columnBuilder.addIntegerAttribute("precision", columnSize);
            int scale = column.getScale();
            if (scale > 0) {
                columnBuilder.addIntegerAttribute("scale", scale);
            }
        }

        // Add unique = true to @Column if applicable
        if (column.isUnique()) {
            columnBuilder.addBooleanAttribute("unique", true);
        }

        annotations.add(columnBuilder);

        // Add @NotNull if applicable
        if (column.isRequired()) {
            annotations.add(new AnnotationMetadataBuilder(NOT_NULL));
        }

        // Add JSR 220 @Temporal annotation to date fields
        if (fieldType.equals(DATE) || fieldType.equals(CALENDAR)) {
            final AnnotationMetadataBuilder temporalBuilder = new AnnotationMetadataBuilder(
                    TEMPORAL);
            temporalBuilder.addEnumAttribute(VALUE, new EnumDetails(
                    TEMPORAL_TYPE, new JavaSymbolName(column.getJdbcType())));
            annotations.add(temporalBuilder);

            final AnnotationMetadataBuilder dateTimeFormatBuilder = new AnnotationMetadataBuilder(
                    DATE_TIME_FORMAT);
            if (fieldType.equals(DATE)) {
                dateTimeFormatBuilder.addStringAttribute("style", "M-");
            }
            else {
                dateTimeFormatBuilder.addStringAttribute("style", "MM");
            }

            if (fieldName.getSymbolName().equals(CREATED)) {
                columnBuilder.addBooleanAttribute("updatable", false);
            }
            annotations.add(dateTimeFormatBuilder);
        }

        // Add @Lob for CLOB fields if applicable
        if (column.getJdbcType().equals("CLOB")) {
            annotations.add(new AnnotationMetadataBuilder(LOB));
        }

        final FieldMetadataBuilder fieldBuilder = new FieldMetadataBuilder(
                getId(), Modifier.PRIVATE, annotations, fieldName, fieldType);
        if (fieldName.getSymbolName().equals(CREATED)) {
View Full Code Here

            final Reference reference, final boolean referencedColumn,
            final JavaType fieldType, final Boolean nullable) {
        final Column localColumn = reference.getLocalColumn();
        Validate.notNull(localColumn, "Foreign-key reference local column '"
                + reference.getLocalColumnName() + "' must not be null");
        final AnnotationMetadataBuilder joinColumnBuilder = new AnnotationMetadataBuilder(
                JOIN_COLUMN);
        joinColumnBuilder
                .addStringAttribute(NAME, localColumn.getEscapedName());

        if (referencedColumn) {
            final Column foreignColumn = reference.getForeignColumn();
            Validate.notNull(
                    foreignColumn,
                    "Foreign-key reference foreign column '%s' must not be null",
                    reference.getForeignColumnName());
            joinColumnBuilder.addStringAttribute("referencedColumnName",
                    foreignColumn.getEscapedName());
        }

        if (nullable == null) {
            if (localColumn.isRequired()) {
                joinColumnBuilder.addBooleanAttribute("nullable", false);
            }
        }
        else {
            joinColumnBuilder.addBooleanAttribute("nullable", nullable);
        }

        if (fieldType != null) {
            if (isCompositeKeyColumn(localColumn) || localColumn.isPrimaryKey()
                    || !reference.isInsertableOrUpdatable()) {
                joinColumnBuilder.addBooleanAttribute("insertable", false);
                joinColumnBuilder.addBooleanAttribute("updatable", false);
            }
        }

        return joinColumnBuilder;
    }
View Full Code Here

                declaredByMetadataId, PUBLIC,
                new JavaSymbolName("sendMessage"), JavaType.VOID_PRIMITIVE,
                AnnotatedJavaType.convertFromJavaTypes(parameterTypes),
                parameterNames, bodyBuilder);
        if (asynchronous) {
            methodBuilder.addAnnotation(new AnnotationMetadataBuilder(ASYNC));
        }
        return methodBuilder;
    }
View Full Code Here

                targetTypeDetails);

        // Create the field
        cidBuilder.addField(new FieldMetadataBuilder(declaredByMetadataId,
                PRIVATE | TRANSIENT, Arrays
                        .asList(new AnnotationMetadataBuilder(AUTOWIRED)),
                fieldName, JMS_OPERATIONS));

        // Create the method
        cidBuilder.addMethod(createSendMessageMethod(fieldName,
                declaredByMetadataId, asynchronous));
View Full Code Here

                nullable = true;
            }
        }

        for (final Reference reference : references) {
            final AnnotationMetadataBuilder joinColumnAnnotation = getJoinColumnAnnotation(
                    reference, true, fieldType, nullable);
            arrayValues.add(new NestedAnnotationAttributeValue(
                    new JavaSymbolName(VALUE), joinColumnAnnotation.build()));
        }
        final List<AnnotationAttributeValue<?>> attributes = new ArrayList<AnnotationAttributeValue<?>>();
        attributes.add(new ArrayAttributeValue<NestedAnnotationAttributeValue>(
                new JavaSymbolName(VALUE), arrayValues));
        return new AnnotationMetadataBuilder(JOIN_COLUMNS, attributes);
    }
View Full Code Here

TOP

Related Classes of org.springframework.roo.classpath.details.annotations.AnnotationMetadataBuilder

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.