public EmbeddedHolder(final FieldMetadata embeddedField, final List<FieldMetadata> fields) { Validate.notNull(embeddedField, "Identifier type required"); Validate.notNull(fields, "Fields for " + embeddedField.getFieldType().getFullyQualifiedTypeName() + " required"); this.embeddedField = embeddedField; this.fields = fields; }
/** * Check if field is a collection field * * @param field * @return */ protected static boolean isCollectionField(FieldMetadata field) { return field.getFieldType().equals(JdkJavaType.LIST) || field.getFieldType().equals(JdkJavaType.SET) || field.getFieldType().equals(JdkJavaType.MAP); }
public EmbeddedIdHolder(final FieldMetadata embeddedIdField, final List<FieldMetadata> idFields) { Validate.notNull(embeddedIdField, "Identifier type required"); Validate.notNull(idFields, "Fields for %s required", embeddedIdField.getFieldType() .getFullyQualifiedTypeName()); this.embeddedIdField = embeddedIdField; this.idFields = idFields; }
/** * Check if a field is a common java field (from packages java.math, java.lang, java.util) * * @param field * @return */ protected static boolean isCommonJavaField(FieldMetadata field) { return field.getFieldType().getFullyQualifiedTypeName().startsWith("java.math") || field.getFieldType().getFullyQualifiedTypeName().startsWith("java.lang") || field.getFieldType().getFullyQualifiedTypeName().startsWith("java.util"); }
private List<FieldMetadata> getDateTimeFields(MemberDetails entityMemberDetails) { List<FieldMetadata> fields = new ArrayList<FieldMetadata>(); for (FieldMetadata field : entityMemberDetails.getFields()) { if (DATE_TIME_TYPES.contains(field.getFieldType())) { fields.add(field); } } return fields; }
private void populateIdTypes(final MemberDetails details, final JavaType type) { final List<FieldMetadata> idFields = MemberFindingUtils.getFieldsWithTag(details, CustomDataKeys.IDENTIFIER_FIELD); final List<FieldMetadata> embeddedIdFields = MemberFindingUtils.getFieldsWithTag(details, CustomDataKeys.EMBEDDED_ID_FIELD); if (!idFields.isEmpty()) { domainTypeIdCache.put(type, idFields.get(0).getFieldType()); } else if (!embeddedIdFields.isEmpty()) { domainTypeIdCache.put(type, embeddedIdFields.get(0).getFieldType()); } else { domainTypeIdCache.remove(type); } }
private static boolean isDateField(FieldMetadata fieldMetadata) { return JdkJavaType.DATE.equals(fieldMetadata.getFieldType()); }
private static boolean isCalendarField(FieldMetadata fieldMetadata) { return JdkJavaType.CALENDAR.equals(fieldMetadata.getFieldType()); }
/** * Returns the accessor name for the given field. * * @param field the field to determine the accessor name * @return the accessor method name */ public static JavaSymbolName getAccessorMethodName(final FieldMetadata field) { Validate.notNull(field, "Field required"); return getAccessorMethodName(field.getFieldName(), field.getFieldType()); }
protected MethodMetadataBuilder getAccessorMethod(final FieldMetadata field, final InvocableMemberBodyBuilder bodyBuilder) { return getMethod(PUBLIC, BeanInfoUtils.getAccessorMethodName(field), field.getFieldType(), null, null, bodyBuilder); }
protected MethodMetadata getMutatorMethod(final FieldMetadata field) { // Check if the mutator has been cached MethodMetadataBuilder mutator = mutatorMethods.get(field); if (mutator == null) { mutator = getMutatorMethod(field.getFieldName(), field.getFieldType()); mutatorMethods.put(field, mutator); } // Return governor method if (mutator == null) { return getGovernorMethod(BeanInfoUtils.getMutatorMethodName(field.getFieldName()), field.getFieldType()); } return mutator.build(); }
private InvocableMemberBodyBuilder getGaeMutatorBody(final FieldMetadata field, final JavaSymbolName hiddenIdFieldName) { return field.getFieldType().isCommonCollectionType() ? getEntityCollectionMutatorBody(field, hiddenIdFieldName) : getSingularEntityMutator(field, hiddenIdFieldName); }
private InvocableMemberBodyBuilder getGaeAccessorBody(final FieldMetadata field, final JavaSymbolName hiddenIdFieldName) { return field.getFieldType().isCommonCollectionType() ? getEntityCollectionAccessorBody(field, hiddenIdFieldName) : getSingularEntityAccessor(field, hiddenIdFieldName); }
private FieldMetadataBuilder getIgnoreFieldFor(FieldMetadata field) { return new FieldMetadataBuilder(getId(), Modifier.PRIVATE, Arrays.asList(new AnnotationMetadataBuilder(JSON_IGNORE)), field.getFieldName(), field.getFieldType()); }
private FieldMetadataBuilder getDeseralizerFieldFor(FieldMetadata field, JavaType deserializer) { AnnotationMetadataBuilder annotation = new AnnotationMetadataBuilder(JSON_DESERIALIZE); annotation.addClassAttribute("using", deserializer); return new FieldMetadataBuilder(getId(), Modifier.PRIVATE, Arrays.asList(annotation), field.getFieldName(), field.getFieldType()); }
public FieldMetadataBuilder(final String declaredbyMetadataId, final FieldMetadata existing) { super(declaredbyMetadataId, existing); init(existing.getFieldName(), existing.getFieldType(), existing.getFieldInitializer()); this.commentStructure = existing.getCommentStructure(); }
public FieldMetadataBuilder(final FieldMetadata existing) { super(existing); init(existing.getFieldName(), existing.getFieldType(), existing.getFieldInitializer()); this.commentStructure = existing.getCommentStructure(); }
/** * Build method body which populate enum field of a entity into model * * @param bodyBuilder * @param enumFields */ private void buildPopulateEnumsBody(InvocableMemberBodyBuilder bodyBuilder, List<FieldMetadata> enumFields) { // Getting all enum types from provided entity for (FieldMetadata field : enumFields) { // model.addAttribute("enumField", // Arrays.asList(Enum.values())); bodyBuilder.appendFormalLine("model.addAttribute(\"%s\", %s.asList(%s.values()));", field.getFieldName(), getNameOfJavaType(JavaType.ARRAYS), getNameOfJavaType(field.getFieldType())); } }
@Override protected ItdTypeDetailsProvidingMetadataItem getMetadata( final String metadataIdentificationString, final JavaType aspectName, final PhysicalTypeMetadata governorPhysicalTypeMetadata, final String itdFilename) { final DtoAnnotationValues annotationValues = new DtoAnnotationValues(governorPhysicalTypeMetadata); // Get all DTO fields ClassOrInterfaceTypeDetails cid = governorPhysicalTypeMetadata.getMemberHoldingTypeDetails(); List<FieldMetadata> fields = getMemberDetailsScanner().getMemberDetails(this.getClass().getName(), cid).getFields(); // Add dependency between modules for (FieldMetadata field : fields) { getTypeLocationService().addModuleDependency(cid.getName().getModule(), field.getFieldType()); } return new DtoMetadata(metadataIdentificationString, aspectName, governorPhysicalTypeMetadata, annotationValues, fields); }
/** * This method generates new field instance using an existing FieldMetadata * * @param declaredByMetadataId * @param field * * @return */ private FieldMetadata getNewField(String declaredByMetadataId, FieldMetadata field) { // Use the FieldMetadataBuilder for easy creation of FieldMetadata // based on existing field FieldMetadataBuilder fieldBuilder = new FieldMetadataBuilder(declaredByMetadataId, field.getModifier(), field.getFieldName(), field.getFieldType(), field.getFieldInitializer()); fieldBuilder.setAnnotations(field.getAnnotations()); return fieldBuilder.build(); }