/** * On validity check. * * @param paramString * the param string * @param checkValidity * the check validity * @param attribute * the attribute */ private void onValidity(String paramString, boolean checkValidity, SingularAttribute<? super X, ?> attribute) { if (checkValidity) { checkForValid(paramString, attribute); } }
/** * Returns declared singular attribute. * * @param paramString * the param string * @param checkValidity * the check validity * @return the declared singular attribute */ private SingularAttribute<X, ?> getDeclaredSingularAttribute(String paramString, boolean checkValidity) { SingularAttribute<X, ?> attribute = null; if (declaredSingluarAttribs != null) { attribute = declaredSingluarAttribs.get(paramString); } if (checkValidity) { checkForValid(paramString, attribute); } return attribute; }
@Override public Attribute<? super X, ?> getAttribute(String paramName) { Attribute<? super X, ?> attribute = getDeclaredAttribute(paramName, false); if (attribute == null && superClazzType != null) { attribute = superClazzType.getAttribute(paramName); } checkForValid(paramName, attribute); return attribute; }
@Override public <Y> SingularAttribute<? super X, Y> getSingularAttribute(String paramString, Class<Y> paramClass) { SingularAttribute<? super X, Y> attribute = getDeclaredSingularAttribute(paramString, paramClass, false); if (superClazzType != null && attribute == null) { return superClazzType.getSingularAttribute(paramString, paramClass); } checkForValid(paramString, attribute); return attribute; }
/** * Gets the declared attribute. * * @param paramName * the param name * @param checkValidity * the check validity * @return the declared attribute */ private Attribute<X, ?> getDeclaredAttribute(String paramName, boolean checkValidity) { Attribute<X, ?> attribute = (Attribute<X, ?>) getSingularAttribute(paramName, false); if (attribute == null) { attribute = (Attribute<X, ?>) getDeclaredPluralAttribute(paramName); } if (checkValidity) { checkForValid(paramName, attribute); } return attribute; }
/** * Bind type annotations. */ private void bindTypeAnnotations() { // TODO:: need to check @Embeddable attributes as well! // TODO:: need to Handle association override in // RelationMetadataProcessor. for (Class<? extends Annotation> ann : validJPAAnnotations) { if (getJavaType().isAnnotationPresent(ann)) { checkForValid(); Annotation annotation = getJavaType().getAnnotation(ann); if (ann.isAssignableFrom(AttributeOverride.class)) { bindAttribute(annotation); } else if (ann.isAssignableFrom(AttributeOverrides.class)) { AttributeOverride[] attribAnns = ((AttributeOverrides) annotation).value(); for (AttributeOverride attribOverann : attribAnns) { bindAttribute(attribOverann); } } } } }