@Override public String getName() { return member.getName(); }
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(); }
@Override public Resource<?> getChild(final String name) { List<Resource<?>> children = doListResources(); List<Resource<?>> subset = new ArrayList<Resource<?>>(); for (Resource<?> child : children) { if ((name != null) && (child instanceof JavaMemberResource<?>)) { String childName = child.getName(); if (((Member<?, ?>) child.getUnderlyingResourceObject()).getName().equals(name.trim()) || childName.equals(name)) { subset.add(child); } } } if (subset.size() == 1) { return subset.get(0); } else if (subset.size() > 1) { throw new ResourceException("Ambiguous name [" + name + "], full type signature required"); } else { return null; } }
|| member.hasAnnotation(ManyToMany.class) || member.hasAnnotation(ManyToOne.class)) String name = member.getName(); String associationField = null; if (member instanceof Method) throw new RuntimeException("Could not compute the association field for member:" + member.getName() + " in entity" + entity.getName());
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; }
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); }
@DefaultCommand(help = "Removes the given constraint on the given property/property accessor") public void removePropertyConstraint( @Option(name = "property", completer = PropertyCompleter.class, required = true) String property, @Option(name = "named", required = true) String constraint, @Option(name = "onAccessor", flagOnly = true) boolean onAccessor) throws FileNotFoundException { final JavaClass clazz = getJavaClassFromResource(shell.getCurrentResource()); final Member<JavaClass, ?> member = getMember(clazz, property, onAccessor); if (member == null) { throw new IllegalStateException("There is no property named '" + property + "' or accessor for this property"); } if (!removeConstraint(member, constraint)) { throw new IllegalStateException("There is no constraint named '" + constraint + "' on " + member.getName()); } // save java source project.getFacet(JavaSourceFacet.class).saveJavaSource(clazz); shell.println("Constraint named '" + constraint + "' has been successfully removed.\n"); }
private void locateProperties() { for (Member<JavaClass, ?> member : getEligibleMembers()) { String memberName = member.getName(); if (member instanceof Field) { Field<?> field = (Field<?>) member; createOrUpdateProperty(memberName, field, null, null); } else if (member instanceof Method) { @SuppressWarnings("unchecked") Method<JavaClass> method = (Method<JavaClass>) member; if (isAccessor(method)) { String propertyName = propertyNameFromMethod(method); createOrUpdateProperty(propertyName, null, method, null); } else if (isMutator(method)) { String propertyName = propertyNameFromMethod(method); createOrUpdateProperty(propertyName, null, null, method); } } } }