public String canonicalize(final String name) { StringBuilder result = new StringBuilder(); String[] split = name.split("[^A-Za-z0-9]"); for (String string : split) { result.append(Strings.capitalize(string)); } return result.toString(); } }
private void addCollectionAssembler(JPAProperty property, Type<?> parameterizedType, JavaClass nestedDTOClass, JPAProperty nestedDtoId) { String fieldName = property.getName(); String simpleParameterizedType = parameterizedType.getName(); Map<Object, Object> map = new HashMap<Object, Object>(); map.put("reverseIdGetter", nestedDtoId.getAccessor().getName() + "()"); map.put("fieldName", fieldName); map.put("fieldGetter", property.getAccessor().getName() + "()"); map.put("nestedDTOType", nestedDTOClass.getName()); map.put("jpaIterator", "iter" + Strings.capitalize(fieldName)); map.put("simpleParameterizedType", simpleParameterizedType); map.put("jpaVar", Strings.uncapitalize(simpleParameterizedType)); map.put("dtoIterator", "iterDto" + Strings.capitalize(fieldName)); map.put("dtoVar", "dto" + Strings.capitalize(simpleParameterizedType)); map.put("jpqlVar", simpleParameterizedType.toLowerCase().substring(0, 1)); String output = processor.processTemplate(map, "org/jboss/forge/rest/AssembleCollection.jv"); assembleJPABuilder.append(output); }
private void addInitializerFromCollection(JPAProperty property, JavaClass nestedDTOClass, Type<?> parameterizedType) { dto.addImport(parameterizedType.getQualifiedName()); dto.addImport(Iterator.class); Map<Object, Object> map = new HashMap<Object, Object>(); map.put("fieldName", property.getName()); map.put("nestedDTOType", nestedDTOClass.getName()); map.put("collectionIterator", "iter" + Strings.capitalize(property.getName())); map.put("elementType", parameterizedType.getName()); map.put("fieldGetter", property.getAccessor().getName() + "()"); String output = processor.processTemplate(map, "org/jboss/forge/rest/InitializeNestedDTOCollection.jv"); copyCtorBuilder.append(output); }
@Override public List<Resource<?>> getOptionalResources() { List<Resource<?>> result = new ArrayList<Resource<?>>(); JavaClass entity = (JavaClass) field.getOrigin(); String methodNameSuffix = Strings.capitalize(field.getName()); // Condition to remove getField() if (entity.hasMethodSignature("get" + methodNameSuffix)) { Method<JavaClass> method = entity.getMethod("get" + methodNameSuffix); result.add(new JavaMethodResource(this.getParent(), method)); } // Condition to remove setField() if (entity.hasMethodSignature("set" + methodNameSuffix, field.getQualifiedType())) { Method<JavaClass> method = entity.getMethod("set" + methodNameSuffix, field.getQualifiedType()); result.add(new JavaMethodResource(this.getParent(), method)); } return result; }
/** * Generates a getXXX and setXXX method for the supplied field * * @param clazz * @param field */ public static void createGetterAndSetter(final JavaClass clazz, final Field<JavaClass> field) { if (!clazz.hasField(field)) { throw new IllegalArgumentException("Entity did not contain the given field [" + field + "]"); } clazz.getMethods(); String fieldName = field.getName(); String methodNameSuffix = Strings.capitalize(fieldName); clazz.addMethod().setReturnType(field.getTypeInspector().toString()).setName("get" + methodNameSuffix) .setPublic() .setBody("return this." + fieldName + ";"); if (!field.isFinal()) { clazz.addMethod().setReturnTypeVoid().setName("set" + methodNameSuffix).setPublic() .setParameters("final " + field.getTypeInspector().toString() + " " + fieldName) .setBody("this." + fieldName + " = " + fieldName + ";"); } }