/** * Return true if field is annotated with @OneToOne or @ManyToOne JPA * annotation * * @param field * @return */ private boolean isAnyToOneRelation(FieldMetadata field) { return field.getAnnotation(JpaJavaType.MANY_TO_ONE) != null || field.getAnnotation(JpaJavaType.ONE_TO_ONE) != null; }
/** * Return true if field is annotated with @OneToOne or @ManyToOne JPA annotation * * @param field * @return */ private boolean isAnyToOneRelation(FieldMetadata field) { return field.getAnnotation(JpaJavaType.MANY_TO_ONE) != null || field.getAnnotation(JpaJavaType.ONE_TO_ONE) != null; }
/** * Check if field is a relation field * * @param field * @return */ protected static boolean isRelationField(FieldMetadata field) { return field.getAnnotation(JpaJavaType.MANY_TO_MANY) != null || field.getAnnotation(JpaJavaType.MANY_TO_ONE) != null || field.getAnnotation(JpaJavaType.ONE_TO_MANY) != null || field.getAnnotation(JpaJavaType.ONE_TO_ONE) != null; }
/** * Returns JPA field annotations * * @param field * @return ONE_TO_MANY, MANY_TO_MANY, ONE_TO_ONE or null */ private AnnotationMetadata getJpaRelationAnnotation(final FieldMetadata field) { AnnotationMetadata annotation = null; for (JavaType type : JPA_ANNOTATIONS_SUPPORTED) { annotation = field.getAnnotation(type); if (annotation != null) { break; } } return annotation; }
protected List<FieldMetadata> getEditableFields(List<FieldMetadata> fields) { List<FieldMetadata> persistentFields = getPersistentFields(fields); Iterator<FieldMetadata> it = persistentFields.iterator(); while (it.hasNext()) { FieldMetadata field = it.next(); if (field.getAnnotation(SpringJavaType.LAST_MODIFIED_DATE) != null || field.getAnnotation(SpringJavaType.LAST_MODIFIED_BY) != null || field.getAnnotation(SpringJavaType.CREATED_BY) != null || field.getAnnotation(SpringJavaType.CREATED_DATE) != null) { it.remove(); } } return persistentFields; }
protected List<FieldMetadata> getPersistentFields(List<FieldMetadata> fields) { List<FieldMetadata> result = new ArrayList<FieldMetadata>(fields.size()); for (FieldMetadata field : fields) { int modifier = field.getModifier(); if (Modifier.isStatic(modifier) || Modifier.isFinal(modifier) || Modifier.isTransient(modifier)) { continue; } if (field.getAnnotation(JpaJavaType.TRANSIENT) != null) { continue; } result.add(field); } return result; }
if (field.getAnnotation(JpaJavaType.ONE_TO_ONE) != null) { continue; if (field.getAnnotation(JpaJavaType.MANY_TO_ONE) != null) { continue; if (field.getAnnotation(JpaJavaType.EMBEDDED) != null || field.getAnnotation(JpaJavaType.EMBEDDED_ID) != null) { continue;
/** * Return _mappedBy_ annotation attribute value of Jpa-relation-definition annotation * * @param parentField * @return */ private String getFieldMappedByAnnotationValue(FieldMetadata parentField) { AnnotationMetadata annotation = null; for (JavaType jpaAnnotation : Arrays.asList(JpaJavaType.ONE_TO_MANY, JpaJavaType.ONE_TO_ONE, JpaJavaType.MANY_TO_MANY)) { annotation = parentField.getAnnotation(jpaAnnotation); if (annotation != null) { break; } } if (annotation != null) { return (String) annotation.getAttribute("mappedBy").getValue(); } return null; }
private boolean isNullableJoinColumn(final FieldMetadata field) { final AnnotationMetadata joinColumnAnnotation = field.getAnnotation(JOIN_COLUMN); if (joinColumnAnnotation == null) { return true; } final AnnotationAttributeValue<?> nullableAttr = joinColumnAnnotation.getAttribute(new JavaSymbolName("nullable")); return nullableAttr == null || (Boolean) nullableAttr.getValue(); }
if (entityField.getAnnotation(JpaJavaType.ONE_TO_ONE) != null || entityField.getAnnotation(JpaJavaType.ONE_TO_MANY) != null || entityField.getAnnotation(JpaJavaType.MANY_TO_ONE) != null || entityField.getAnnotation(JpaJavaType.MANY_TO_MANY) != null) {
/** * This method checks if the provided type is enum or not * * @param fieldType * @return */ private boolean isEnumType(FieldMetadata field) { Validate.notNull(field, "Java type required"); final JavaType fieldType = field.getFieldType(); if (fieldType.isPrimitive()) { return false; } if (STANDAR_TYPES.contains(fieldType) || DATE_TIME_TYPES.contains(fieldType)) { return false; } if (field.getAnnotation(JpaJavaType.ENUMERATED) != null) { return true; } final ClassOrInterfaceTypeDetails javaTypeDetails = getTypeLocationService().getTypeDetails(fieldType); return javaTypeDetails != null && javaTypeDetails.getPhysicalTypeCategory().equals(PhysicalTypeCategory.ENUMERATION); }
/** * Get a field list that can be selected to do a detail controller. * * @param entity * Entity on which create the detail controller * @param parentFieldName * The parent's field name used to construct the field name * related with the original entity * @return the related field list */ private List<String> getDetailFieldsRelatedToEntity(ClassOrInterfaceTypeDetails entity, String parentFieldName) { List<String> results = new ArrayList<String>(); MemberDetails entityDetails = getMemberDetailsScanner().getMemberDetails(entity.getType().getSimpleTypeName(), entity); List<FieldMetadata> fields = entityDetails.getFields(); for (FieldMetadata field : fields) { AnnotationMetadata oneToManyAnnotation = field.getAnnotation(JpaJavaType.ONE_TO_MANY); AnnotationMetadata manyToManyAnnotation = field.getAnnotation(JpaJavaType.MANY_TO_MANY); if ((oneToManyAnnotation != null || manyToManyAnnotation != null) && (field.getFieldType().getFullyQualifiedTypeName() .equals(JavaType.LIST.getFullyQualifiedTypeName()) || field.getFieldType() .getFullyQualifiedTypeName().equals(JavaType.SET.getFullyQualifiedTypeName()))) { results.add(parentFieldName.concat(field.getFieldName().getSymbolName())); } } return results; }
if (field.getAnnotation(JpaJavaType.TRANSIENT) != null) { continue;
field.getAnnotation(SpringletsJavaType.SPRINGLETS_ENTITY_FORMAT); if (entityFormatAnnotation != null) { AnnotationAttributeValue<Object> messageAttribute =
private boolean isFieldValidForProjection(FieldMetadata field) { // Exclude static fields if (Modifier.isStatic(field.getModifier())) { return false; } // Exclude transient fields if (field.getAnnotation(JpaJavaType.TRANSIENT) != null) { return false; } // Exclude entity collection fields JavaType fieldType = field.getFieldType(); if (fieldType.isCommonCollectionType()) { boolean isEntityCollectionField = false; List<JavaType> parameters = fieldType.getParameters(); for (JavaType parameter : parameters) { if (typeLocationService.getTypeDetails(parameter) != null && typeLocationService.getTypeDetails(parameter).getAnnotation( RooJavaType.ROO_JPA_ENTITY) != null) { isEntityCollectionField = true; break; } } if (isEntityCollectionField) { return false; } } return true; }
&& (field.getAnnotation(JpaJavaType.ONE_TO_MANY) != null || field .getAnnotation(JpaJavaType.MANY_TO_MANY) != null)) { String getterTypeName = getter.getReturnType().getBaseType().getSimpleTypeName().toLowerCase(); oneToManyGetters.add(getter); entityNames.put(getterTypeName, getPluralService().getPlural(getterTypeName)); } else if (getter != null && field.getAnnotation(JpaJavaType.MANY_TO_ONE) != null) { String getterTypeName = getter.getReturnType().getSimpleTypeName().toLowerCase(); manyToOneGetters.add(getter);
if (entityField.getFieldName().getSymbolName().equals(relationField[level])) { AnnotationMetadata oneToManyAnnotation = entityField.getAnnotation(JpaJavaType.ONE_TO_MANY);
private String getFieldInitializerForRelatedEntity(final FieldMetadata field, final JpaEntityFactoryMetadata collaboratingMetadata, final Set<?> fieldCustomDataKeys, final Set<ClassOrInterfaceTypeDetails> dataOnDemandClasses) { // To avoid circular references, we don't try to set nullable fields final boolean nullableField = field.getAnnotation(NOT_NULL) == null && isNullableJoinColumn(field); if (nullableField) { return null; } JavaSymbolName collaboratingFieldName = getCollaboratingFieldName(field.getFieldType(), dataOnDemandClasses); if (collaboratingFieldName != null) { final String collaboratingName = collaboratingFieldName.getSymbolName(); if (fieldCustomDataKeys.contains(CustomDataKeys.ONE_TO_ONE_FIELD)) { // We try to keep the same ID (ROO-568) return collaboratingName + "." + SPECIFIC_METHOD_PREFIX.getSymbolName() + "(" + INDEX_VAR + ")"; } return collaboratingName + "." + collaboratingMetadata.getRandomPersistentEntityMethod().getMethodName().getSymbolName() + "()"; } else { return null; } }
if (field.getAnnotation(new JavaType("javax.persistence.Version")) != null) { continue; int privateTransient = Modifier.PRIVATE + Modifier.TRANSIENT; int privateTransientFinal = Modifier.PRIVATE + Modifier.TRANSIENT + Modifier.FINAL; if (field.getAnnotation(JpaJavaType.TRANSIENT) != null || field.getModifier() == Modifier.TRANSIENT || field.getModifier() == transientFinal || field.getModifier() == publicTransient || field.getModifier() == publicTransientFinal
field.getAnnotation(SpringJavaType.DATE_TIME_FORMAT);