/** * Creates a VelocityContext and inject common variables into it. * * @param generationContext Generation context provided by user. * * @return A properly initialized VelocityContext. */ private VelocityContext buildContext(GenerationContext generationContext) { VelocityContext context = new VelocityContext(); // Add main objects to velocity context context.put("engine", this); context.put("context", generationContext); context.put("dataModel", generationContext.getDataModel()); context.put("nameTool", new GenerationTools()); generationContext.setVelocityContext(context); return context; }
protected TypeMetadata buildTypeMetadata(String type, ClassLoader classLoader) throws ClassNotFoundException { GenerationTools generationTools = new GenerationTools(); Class<?> clazz = classLoader.loadClass(type); ClassFieldInspector fieldInspector = new ClassFieldInspector(clazz); List<FieldMetadata> fields = new ArrayList<>(); for (String fieldName : fieldInspector.getFieldNames()) { ClassFieldInspector.FieldInfo fieldInfo = fieldInspector.getFieldTypesFieldInfo().get(fieldName); if (fieldInfo.getOrigin() == ModelField.FIELD_ORIGIN.DECLARED || fieldInfo.getOrigin() == ModelField.FIELD_ORIGIN.INHERITED) { String accessor = null; String mutator = null; if (fieldInfo.getAccessorAndMutator() == FieldAccessorsAndMutators.ACCESSOR || fieldInfo.getAccessorAndMutator() == FieldAccessorsAndMutators.BOTH) { accessor = generationTools.toJavaGetter(fieldName, fieldInfo.getReturnType().getName()); } if (fieldInfo.getAccessorAndMutator() == FieldAccessorsAndMutators.MUTATOR || fieldInfo.getAccessorAndMutator() == FieldAccessorsAndMutators.BOTH) { mutator = generationTools.toJavaSetter(fieldName); } fields.add(new FieldMetadata(fieldName, fieldInfo.getReturnType().getName(), accessor, mutator)); } } return new TypeMetadata(type, fields); }
/** * Takes care of field and the corresponding setter/getter removal. */ public void removeField(JavaClassSource javaClassSource, String fieldName, ClassTypeResolver classTypeResolver) throws Exception { logger.debug("Removing field: " + fieldName + ", from class: " + javaClassSource.getName()); FieldSource<JavaClassSource> field; GenerationTools genTools = new GenerationTools(); String methodName; field = javaClassSource.getField(fieldName); if (field != null) { //check if the class has a setter/getter for the given field. Class<?> fieldClass = classTypeResolver.resolveType(field.getType().getName()); methodName = genTools.toJavaGetter(fieldName, fieldClass.getName()); removeMethodByParamsClass(javaClassSource, methodName); methodName = genTools.toJavaSetter(fieldName); removeMethodByParamsClass(javaClassSource, methodName, fieldClass); //finally remove the field. javaClassSource.removeField(field); } else { logger.debug("Field field: " + fieldName + " was not found in class: " + javaClassSource.getName()); } }
GenerationTools generationTools = new GenerationTools(); AnnotationDefinition annotationDefinition;
GenerationTools genTools = new GenerationTools(); JavaRoasterModelDriver modelDriver = new JavaRoasterModelDriver();
ClassTypeResolver classTypeResolver) throws Exception { GenerationTools genTools = new GenerationTools(); GenerationEngine engine = GenerationEngine.getInstance(); GenerationContext context = new GenerationContext(null);
GenerationTools genTools = new GenerationTools();
ClassTypeResolver classTypeResolver) throws Exception { GenerationTools genTools = new GenerationTools(); GenerationEngine engine = GenerationEngine.getInstance(); GenerationContext context = new GenerationContext(null);