public static String getOrderClause(JavaClass entity, char entityVariable) { StringBuilder expressionBuilder = new StringBuilder(); // Add the ORDER BY clause for (Member<JavaClass, ?> member : entity.getMembers()) { if (member.hasAnnotation(Id.class)) { String memberName = member.getName(); String id = null; if (member instanceof Method) { // Getters are expected to obey JavaBean conventions id = Strings.uncapitalize(memberName.substring(2)); } if (member instanceof Field) { id = memberName; } expressionBuilder.append("ORDER BY "); expressionBuilder.append(entityVariable); expressionBuilder.append('.'); expressionBuilder.append(id); } } return expressionBuilder.toString(); }
if (member.hasAnnotation(OneToOne.class) || member.hasAnnotation(OneToMany.class) || member.hasAnnotation(ManyToMany.class) || member.hasAnnotation(ManyToOne.class))
@SuppressWarnings("unchecked") public static boolean hasAnnotation(Resource<?> resource, Class<? extends java.lang.annotation.Annotation> annotationClass) throws FileNotFoundException { if (resource == null) { throw new IllegalArgumentException("The parameter 'resource' cannot be null"); } if (annotationClass == null) { throw new IllegalArgumentException("The parameter 'annotationClass' cannot be null"); } if (resource instanceof JavaResource) { final JavaClass javaClass = ResourceUtil.getJavaClassFromResource(resource); return javaClass.hasAnnotation(annotationClass); } else if (resource instanceof JavaMemberResource) { final JavaMemberResource<?> javaMemberResource = (JavaMemberResource<?>) resource; return javaMemberResource.getUnderlyingResourceObject().hasAnnotation(annotationClass); } throw new IllegalArgumentException("The given resource '" + resource.getName() + "' is not a Java resource"); }
private String resolveIdType(JavaClass entity) { for (Member<JavaClass, ?> member : entity.getMembers()) { if (member.hasAnnotation(Id.class)) { if (member instanceof Method) { return ((Method<?>) member).getReturnType(); } if (member instanceof Field) { return ((Field<?>) member).getType(); } } } return "Object"; }
private Annotation<JavaClass> addConstraintOnProperty(String property, boolean onAccessor, Class<? extends java.lang.annotation.Annotation> annotationClass) throws FileNotFoundException { final Resource<?> currentResource = shell.getCurrentResource(); final JavaClass clazz = getJavaClassFromResource(currentResource); final Field<JavaClass> field = clazz.getField(property); if (field == null) { throw new IllegalStateException("The current class has no property named '" + property + "'"); } Member<JavaClass, ?> member = field; if (onAccessor) { final Method<JavaClass> accessor = JavaHelper.getFieldAccessor(field); if (accessor == null) { throw new IllegalStateException("The property named '" + property + "' has no accessor"); } member = accessor; } if (member.hasAnnotation(annotationClass)) { throw new IllegalStateException("The element '" + member.getName() + "' is already annotated with @" + annotationClass.getSimpleName()); } return member.addAnnotation(annotationClass); }
for (Member<JavaClass, ?> m : entity.getMembers()) if (m.hasAnnotation(Id.class))
public static String getIdClause(JavaClass entity, String entityTable) { for (Member<JavaClass, ?> member : entity.getMembers()) { if (member.hasAnnotation(Id.class)) { String memberName = member.getName(); String id = null; if (member instanceof Method) { // Getters are expected to obey JavaBean conventions id = Strings.uncapitalize(memberName.substring(2)); } if (member instanceof Field) { id = memberName; } char entityVariable = getJpqlEntityVariable(entityTable); return "WHERE " + entityVariable + "." + id + " = " + ":entityId"; } } return null; }
if (member.hasAnnotation(Id.class))