public OJField(OJBlock body, String name, OJPathName type, String initExpr) { this(body, name, type); setInitExp(initExpr); }
static void addFieldTypePropertyToLiteral(OJEnumLiteral literal, String fieldType) { OJField uriAttribute = new OJField(); uriAttribute.setType(UmlgRestletGenerationUtil.FieldType); uriAttribute.setInitExp(fieldType); uriAttribute.setName("fieldType"); literal.addToAttributeValues(uriAttribute); OJField jsonField = literal.findAttributeValue("json"); StringBuilder sb = new StringBuilder(); sb.append(", \\\"fieldType\\\": \\\"\" + " + fieldType + " + \"\\\"}\""); String initExp = jsonField.getInitExp(); int indexOf = initExp.lastIndexOf("}"); initExp = initExp.substring(0, indexOf) + sb.toString(); jsonField.setInitExp(initExp); }
static void addFieldTypePropertyToLiteral(OJEnumLiteral literal) { String uri = "FieldType.Date"; OJField uriAttribute = new OJField(); uriAttribute.setType(UmlgRestletGenerationUtil.FieldType); uriAttribute.setInitExp(uri); uriAttribute.setName("fieldType"); literal.addToAttributeValues(uriAttribute); OJField jsonField = literal.findAttributeValue("json"); StringBuilder sb = new StringBuilder(); sb.append(", \\\"fieldType\\\": \\\"\" + FieldType.Date + \"\\\"}\""); String initExp = jsonField.getInitExp(); int indexOf = initExp.lastIndexOf("}"); initExp = initExp.substring(0, indexOf) + sb.toString(); jsonField.setInitExp(initExp); }
private void addINSTANCE(OJAnnotatedClass root, Model model) { OJField INSTANCE = new OJField("INSTANCE", root.getPathName()); INSTANCE.setStatic(true); INSTANCE.setInitExp("new " + StringUtils.capitalize(model.getName()) + "()"); root.addToFields(INSTANCE); }
public void renameAll(Set<OJPathName> renamePathNames, String suffix) { getType().renameAll(renamePathNames, suffix); String init = getInitExp(); setInitExp(replaceAll(init, renamePathNames, suffix)); } }
@Override public void renameAll(Set<OJPathName> match,String suffix){ for(OJAnnotationValue a:getAnnotations()){ a.renameAll(match, suffix); } for(OJField ojField:attributeValues){ ojField.setInitExp(replaceAll(ojField.getInitExp(), match, suffix)); } }
private void addDefaultSerialization(OJAnnotatedClass annotatedClass) { OJField defaultSerialization = new OJField(annotatedClass, "serialVersionUID", new OJPathName("long")); defaultSerialization.setFinal(true); defaultSerialization.setStatic(true); defaultSerialization.setInitExp("1L"); }
public void copyDeepInfoInto(OJField copy) { super.copyDeepInfoInto(copy); copy.setInitExp(getInitExp()); if (getType() != null) { copy.setType(getType().getDeepCopy()); } }
private void addINSTANCE(OJAnnotatedClass globalMap) { OJField instance = new OJField("INSTANCE", globalMap.getPathName()); instance.setVisibility(OJVisibilityKind.PUBLIC); instance.setStatic(true); instance.setInitExp("new " + globalMap.getPathName().getLast() + "()"); globalMap.addToFields(instance); }
private void addINSTANCE(OJAnnotatedClass globalMap) { OJField instance = new OJField("INSTANCE", globalMap.getPathName()); instance.setVisibility(OJVisibilityKind.PUBLIC); instance.setStatic(true); instance.setInitExp("new " + globalMap.getPathName().getLast() + "()"); globalMap.addToFields(instance); }
private void addINSTANCE(OJAnnotatedClass globalMap) { OJField instance = new OJField("INSTANCE", globalMap.getPathName()); instance.setVisibility(OJVisibilityKind.PUBLIC); instance.setStatic(true); instance.setInitExp("new " + globalMap.getPathName().getLast() + "()"); globalMap.addToFields(instance); }
private void addQualifiedNameEdgeSet(OJAnnotatedClass globalMap) { OJField set = new OJField(UmlgGenerationUtil.QualifiedNameEdgeSchemaSet, new OJPathName("java.util.Set").addToGenerics("String") ); set.setVisibility(OJVisibilityKind.PRIVATE); set.setInitExp("new HashSet<String>()"); globalMap.addToImports(new OJPathName("java.util.HashSet")); globalMap.addToImports(new OJPathName("java.util.Set")); globalMap.addToFields(set); }
private void addMap(OJAnnotatedClass globalMap) { OJField map = new OJField(UmlgGenerationUtil.QualifiedNameClassMapName, new OJPathName("java.util.Map").addToGenerics("String").addToGenerics( "Class<?>")); map.setVisibility(OJVisibilityKind.PRIVATE); map.setInitExp("new HashMap<String, Class<?>>()"); globalMap.addToImports(new OJPathName("java.util.HashMap")); globalMap.addToImports(new OJPathName("java.util.Map")); globalMap.addToFields(map); }
private void addToRouterEnum(Classifier clazz, OJAnnotatedClass annotatedClass) { OJEnum routerEnum = (OJEnum) this.workspace.findOJClass(UmlgRestletGenerationUtil.RestletRouterEnum.toJavaString()); OJEnumLiteral ojLiteralMeta = new OJEnumLiteral(UmlgClassOperations.className(clazz).toUpperCase() + "_META"); OJField uriMeta = new OJField(); uriMeta.setType(new OJPathName("String")); uriMeta.setInitExp("\"/" + StringUtils.uncapitalize(UmlgClassOperations.className(clazz)) + "MetaData\""); ojLiteralMeta.addToAttributeValues(uriMeta); OJField serverResourceClassField = new OJField(); serverResourceClassField.setType(new OJPathName("java.lang.Class")); serverResourceClassField.setInitExp(annotatedClass.getName() + ".class"); ojLiteralMeta.addToAttributeValues(serverResourceClassField); routerEnum.addToImports(annotatedClass.getPathName()); routerEnum.addToImports(UmlgRestletGenerationUtil.ServerResource); routerEnum.addToLiterals(ojLiteralMeta); OJAnnotatedOperation attachAll = routerEnum.findOperation("attachAll", UmlgRestletGenerationUtil.Router); attachAll.getBody().addToStatements(routerEnum.getName() + "." + ojLiteralMeta.getName() + ".attach(router)"); }
protected void addToRouterEnum(Model model, OJAnnotatedClass annotatedClass, String name, String path) { OJEnum routerEnum = (OJEnum) this.workspace.findOJClass(UmlgRestletGenerationUtil.RestletRouterEnum.toJavaString()); OJEnumLiteral ojLiteral = new OJEnumLiteral(name); OJField uri = new OJField(); uri.setType(new OJPathName("String")); uri.setInitExp(path); ojLiteral.addToAttributeValues(uri); OJField serverResourceClassField = new OJField(); serverResourceClassField.setType(new OJPathName("java.lang.Class")); serverResourceClassField.setInitExp(annotatedClass.getName() + ".class"); ojLiteral.addToAttributeValues(serverResourceClassField); routerEnum.addToImports(annotatedClass.getPathName()); routerEnum.addToImports(UmlgRestletGenerationUtil.ServerResource); routerEnum.addToLiterals(ojLiteral); OJAnnotatedOperation attachAll = routerEnum.findOperation("attachAll", UmlgRestletGenerationUtil.Router); attachAll.getBody().addToStatements(routerEnum.getName() + "." + ojLiteral.getName() + ".attach(router)"); }
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 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); }
private void addCheckConstraints(OJAnnotatedClass annotatedClass, Class clazz) { OJAnnotatedOperation checkConstraints = new OJAnnotatedOperation("checkClassConstraints", new OJPathName("java.util.List").addToGenerics(UmlgGenerationUtil.UmlgConstraintViolation)); UmlgGenerationUtil.addOverrideAnnotation(checkConstraints); OJField result = new OJField("result", new OJPathName("java.util.List").addToGenerics(UmlgGenerationUtil.UmlgConstraintViolation)); result.setInitExp("new ArrayList<" + UmlgGenerationUtil.UmlgConstraintViolation.getLast() + ">()"); checkConstraints.getBody().addToLocals(result); List<Constraint> constraints = ModelLoader.INSTANCE.getConstraints(clazz); if (!clazz.getGeneralizations().isEmpty()) { checkConstraints.getBody().addToStatements("result.addAll(super.checkClassConstraints())"); } for (Constraint constraint : constraints) { checkConstraints.getBody().addToStatements("result.addAll(" + UmlgClassOperations.checkClassConstraintName(constraint) + "())"); } checkConstraints.getBody().addToStatements("return result"); annotatedClass.addToOperations(checkConstraints); }
private void addGetRootObjectRepresentation(Model model, OJAnnotatedClass annotatedClass) { OJAnnotatedOperation get = new OJAnnotatedOperation("get", UmlgRestletGenerationUtil.Representation); get.addToThrows(UmlgRestletGenerationUtil.ResourceException); annotatedClass.addToImports(UmlgRestletGenerationUtil.ResourceException); UmlgGenerationUtil.addOverrideAnnotation(get); OJField json = new OJField("json", new OJPathName("java.lang.StringBuilder")); json.setInitExp("new StringBuilder()"); get.getBody().addToLocals(json); get.getBody().addToStatements("json.append(\"[{\\\"data\\\": [{\\\"name\\\": \\\"APP\\\"}]\")"); get.getBody().addToStatements("json.append(\", \\\"meta\\\": \")"); get.getBody().addToStatements("json.append(\"{\\\"qualifiedName\\\": \\\"" + model.getQualifiedName() + "\\\"\")"); get.getBody().addToStatements("json.append(\"}}]\")"); get.getBody().addToStatements("return new " + UmlgRestletGenerationUtil.JsonRepresentation.getLast() + "(json.toString())"); annotatedClass.addToImports(UmlgRestletGenerationUtil.JsonRepresentation); annotatedClass.addToOperations(get); }
private void addGetAllInstancesForAbstractClass(Classifier classifier, OJAnnotatedClass metaClass) { OJAnnotatedOperation allInstances = new OJAnnotatedOperation("getAllInstances"); UmlgGenerationUtil.addOverrideAnnotation(allInstances); OJPathName classPathName = UmlgClassOperations.getPathName(classifier); allInstances.setReturnType(UmlgGenerationUtil.umlgSet.getCopy().addToGenerics(classPathName)); OJField resultField = new OJField("result", UmlgGenerationUtil.umlgMemorySet.getCopy().addToGenerics(classPathName)); resultField.setInitExp("new " + UmlgGenerationUtil.umlgMemorySet.getCopy().addToGenerics(classPathName).getLast() + "()"); allInstances.getBody().addToLocals(resultField); Set<Classifier> concreteImplementations = UmlgClassOperations.getConcreteRealization(classifier); for (Classifier concreteImplementation : concreteImplementations) { allInstances.getBody().addToStatements("result.addAll(" + UmlgClassOperations.getMetaClassName(concreteImplementation) + ".getInstance().getAllInstances())"); metaClass.addToImports(UmlgClassOperations.getMetaClassPathName(concreteImplementation)); } allInstances.getBody().addToStatements("return result"); metaClass.addToImports(UmlgGenerationUtil.UMLG_NODE); metaClass.addToOperations(allInstances); }