public OJPathName replaceGeneric(int index, String ojPathName) { this.generics.remove(index); this.generics.add(index, new OJPathName(ojPathName)); return this; }
public void addParam(String name,String type){ OJPathName path = new OJPathName(type); this.addParam(name, path); } public void addToThrows(String type){
public void addToThrows(String type){ OJPathName path = new OJPathName(type); this.addToThrows(path); } /******************************************************
private void addQualifiedNameVertexSet(OJAnnotatedClass globalMap) { OJField set = new OJField(UmlgGenerationUtil.QualifiedNameVertexSchemaSet, new OJPathName("java.util.Set").addToGenerics(new OJPathName("List").addToGenerics("String")) ); set.setVisibility(OJVisibilityKind.PRIVATE); set.setInitExp("new HashSet<List<String>>()"); globalMap.addToImports(new OJPathName("java.util.HashSet")); globalMap.addToImports(new OJPathName("java.util.Set")); globalMap.addToImports(new OJPathName("java.util.List")); globalMap.addToFields(set); }
/** * @return */ public OJPathName getCopy() { OJPathName result = new OJPathName(); result.setNames(new ArrayList<String>(this.getNames())); result.generics = new ArrayList<OJPathName>(this.getGenerics()); return result; }
public OJParameter(String string, String ojPathName) { this(); setName(string); setType(new OJPathName(ojPathName)); }
public OJPathName getHead() { OJPathName result = new OJPathName(); if (getNames().size() > 0) result.setNames(getNames().subList(0, getNames().size() - 1)); return result; }
protected void implementIsRoot(OJAnnotatedClass ojClass, boolean b) { OJAnnotatedOperation isRoot = new OJAnnotatedOperation("isTinkerRoot"); isRoot.addAnnotationIfNew(new OJAnnotationValue(new OJPathName("java.lang.Override"))); isRoot.setReturnType(new OJPathName("boolean")); isRoot.getBody().addToStatements("return " + b); ojClass.addToOperations(isRoot); }
private void addMap(OJAnnotatedClass globalMap) { OJField map = new OJField(UmlgGenerationUtil.QualifiedNameClassMapName, new OJPathName("java.util.Map").addToGenerics("String").addToGenerics( "Class<? extends " + UmlgGenerationUtil.UMLG_NODE.getLast() + ">")); map.setVisibility(OJVisibilityKind.PRIVATE); map.setInitExp("new HashMap<String, Class<? extends " + UmlgGenerationUtil.UMLG_NODE.getLast() + ">>()"); globalMap.addToImports(new OJPathName("java.util.HashMap")); globalMap.addToImports(new OJPathName("java.util.Map")); globalMap.addToFields(map); }
private void addTmpIdToToJson(OJAnnotatedClass annotatedClass) { OJAnnotatedOperation toJson = annotatedClass.findOperation("toJson", new OJPathName("Boolean")); OJIfStatement ifTmpNull = new OJIfStatement("this.tmpId != null"); //Insert the line at second line ifTmpNull.addToThenPart("sb.append(\"\\\"tmpId\\\": \\\"\" + this.tmpId + \"\\\", \")"); toJson.getBody().getStatements().add(1, ifTmpNull); OJAnnotatedOperation toJsonWithoutCompositeParent = annotatedClass.findOperation("toJsonWithoutCompositeParent", new OJPathName("Boolean")); //Insert the line at second line toJsonWithoutCompositeParent.getBody().getStatements().add(1, ifTmpNull); }
private void addGetEdgeToRootLabel(OJAnnotatedClass metaClass, Class clazz) { OJAnnotatedOperation getEdgeToRootLabel = new OJAnnotatedOperation("getEdgeToRootLabel", new OJPathName("String")); getEdgeToRootLabel.getBody().addToStatements("return " + UmlgGenerationUtil.UmlgLabelConverterFactoryPathName.getLast() + ".getUmlgLabelConverter().convert(\"" + UmlgGenerationUtil.getEdgeToRootLabelStrategyMeta(clazz) + "\")"); metaClass.addToImports(UmlgGenerationUtil.UmlgLabelConverterFactoryPathName); metaClass.addToOperations(getEdgeToRootLabel); }
private void addGetMetaDataAsJson(OJAnnotatedClass annotatedClass, Class clazz) { OJAnnotatedOperation getMetaDataAsJSon = new OJAnnotatedOperation("getMetaDataAsJson", new OJPathName("String")); getMetaDataAsJSon.getBody().addToStatements("return " + UmlgClassOperations.className(clazz) + "." + UmlgClassOperations.propertyEnumName(clazz) + ".asJson()"); annotatedClass.addToOperations(getMetaDataAsJSon); UmlgGenerationUtil.addOverrideAnnotation(getMetaDataAsJSon); }
private void addCreateEdgeSchemas(OJAnnotatedClass globalMap) { OJAnnotatedOperation createEdgeSchemas = new OJAnnotatedOperation("createEdgeSchemas"); UmlgGenerationUtil.addOverrideAnnotation(createEdgeSchemas); createEdgeSchemas.addParam("edgeSchemaCreator", UmlgGenerationUtil.EdgeSchemaCreator); OJForStatement ojForStatement = new OJForStatement("label", new OJPathName("String"), UmlgGenerationUtil.QualifiedNameEdgeSchemaSet); ojForStatement.getBody().addToStatements("edgeSchemaCreator.create(label)"); createEdgeSchemas.getBody().addToStatements(ojForStatement); globalMap.addToOperations(createEdgeSchemas); }
private void addCreateVertexSchemas(OJAnnotatedClass globalMap) { OJAnnotatedOperation createVertexSchemas = new OJAnnotatedOperation("createVertexSchemas"); UmlgGenerationUtil.addOverrideAnnotation(createVertexSchemas); createVertexSchemas.addParam("vertexSchemaCreator", UmlgGenerationUtil.VertexSchemaCreator); OJForStatement ojForStatement = new OJForStatement("hierarchy", new OJPathName("List").addToGenerics("String"), UmlgGenerationUtil.QualifiedNameVertexSchemaSet); ojForStatement.getBody().addToStatements("vertexSchemaCreator.create(hierarchy)"); createVertexSchemas.getBody().addToStatements(ojForStatement); globalMap.addToOperations(createVertexSchemas); }
protected void addPersistentConstructor(OJAnnotatedClass ojClass) { OJConstructor persistentConstructor = new OJConstructor(); persistentConstructor.setName(UmlgGenerationUtil.PERSISTENT_CONSTRUCTOR_NAME); persistentConstructor.addParam(UmlgGenerationUtil.PERSISTENT_CONSTRUCTOR_PARAM_NAME, new OJPathName("java.lang.Boolean")); persistentConstructor.getBody().addToStatements("super(" + UmlgGenerationUtil.PERSISTENT_CONSTRUCTOR_PARAM_NAME + ")"); ojClass.addToConstructors(persistentConstructor); }
private void addGetUmlName(OJAnnotatedClass annotatedClass, Class clazz) { OJAnnotatedOperation getUmlName = new OJAnnotatedOperation("getUmlName"); UmlgGenerationUtil.addOverrideAnnotation(getUmlName); getUmlName.setReturnType(new OJPathName("String")); getUmlName.setVisibility(OJVisibilityKind.PUBLIC); getUmlName.getBody().addToStatements("return \"" + clazz.getName() + "\""); annotatedClass.addToOperations(getUmlName); }
public static OJPathName getTypePath(Property p) { Objects.requireNonNull(p.getType(), "property " + p.getName() + "'s type is not defined"); if (!(p.getType() instanceof PrimitiveType) && !(p.getType() instanceof Enumeration) && p.getType() instanceof DataType) { return DataTypeEnum.getPathNameFromDataType((DataType) p.getType()); } else { return new OJPathName(Namer.name(p.getType().getNearestPackage()) + "." + UmlgPropertyOperations.umlPrimitiveTypeToJava(p.getType())); } }
private void addDeleteResource(Classifier classifier, OJAnnotatedClass annotatedClass) { OJAnnotatedOperation delete = new OJAnnotatedOperation("delete"); delete.setVisibility(OJVisibilityKind.PRIVATE); delete.addToParameters(new OJParameter("propertyMap", new OJPathName("java.util.Map").addToGenerics("String").addToGenerics("Object"))); annotatedClass.addToOperations(delete); delete.getBody().addToStatements("Object id = propertyMap.get(\"id\")"); delete.getBody().addToStatements( UmlgClassOperations.getPathName(classifier).getLast() + " childResource = " + UmlgGenerationUtil.UMLGAccess + "." + UmlgGenerationUtil.getEntity + "(id)"); annotatedClass.addToImports(UmlgClassOperations.getPathName(classifier)); delete.getBody().addToStatements("childResource.delete()"); }
private void addTmpIdToFromJson(OJAnnotatedClass annotatedClass) { OJAnnotatedOperation fromJson = annotatedClass.findOperation("fromJsonDataTypeAndComposite", new OJPathName("java.util.Map")); OJIfStatement ifStatement = new OJIfStatement("propertyMap.containsKey(\"tmpId\")"); OJIfStatement ifStatement1 = new OJIfStatement("propertyMap.get(\"tmpId\") != null"); ifStatement.addToThenPart(ifStatement1); ifStatement1.addToThenPart("this.tmpId = (String)propertyMap.get(\"tmpId\")"); ifStatement1.addToThenPart(UmlgGenerationUtil.UmlgTmpIdManager.getLast() + ".INSTANCE.put(this.tmpId, getId())"); annotatedClass.addToImports(UmlgGenerationUtil.UmlgTmpIdManager); ifStatement1.addToElsePart("this.tmpId = null"); fromJson.getBody().addToStatements(ifStatement); }
private void addFromJsonWithMapper(Class clazz) { OJAnnotatedClass annotatedClass = findOJClass(clazz); OJAnnotatedOperation fromJson = new OJAnnotatedOperation("fromJson"); fromJson.addParam("propertyMap", new OJPathName("java.util.Map").addToGenerics("String").addToGenerics("Object")); UmlgGenerationUtil.addOverrideAnnotation(fromJson); annotatedClass.addToOperations(fromJson); fromJson.getBody().addToStatements("fromJsonDataTypeAndComposite(propertyMap)"); fromJson.getBody().addToStatements("fromJsonNonCompositeOne(propertyMap)"); fromJson.getBody().addToStatements("fromJsonNonCompositeRequiredMany(propertyMap)"); }