public OJAnnotationValue(OJPathName type,Number value){ super(value); super.setName(type.getLast()); this.type = type; } public OJAnnotationValue(OJPathName type,OJAnnotationValue value){
public String getSignature(){ StringBuilder sb = new StringBuilder(getName()); sb.append("("); for(OJParameter p:getParameters()){ sb.append(p.getType().getLast()); sb.append(","); } sb.setCharAt(sb.length() - 1, ')'); return sb.toString(); } /******************************************************
public void renameAll(Set<OJPathName> renamePathNames, String newName) { if (getLast().charAt(0) == '?') { replaceTail(replaceAll(getLast(), renamePathNames, newName)); } else if (renamePathNames.contains(this)) { replaceTail(getLast() + newName); } for (OJPathName elementType : getElementTypes()) { elementType.renameAll(renamePathNames, newName); } }
public String getAssociationClassFakePropertyName() { if (!isMemberOfAssociationClass()) { throw new IllegalStateException("Can not call getAssociationClassFakePropertyName on a property that does not belong to an AssociationClass!"); } return UmlgClassOperations.getPathName(getAssociationClass()).getLast() + "_" + fieldname(); }
private static String constructNotifier(PropertyWrapper propertyWrapper) { return UmlgGenerationUtil.UmlgNotificationManager.getLast() + ".INSTANCE.notify(\n\t" + propertyWrapper.getTumlRuntimePropertyEnum() + ",\n\tChangeHolder.of(\n\t\tthis." + PropertyWrapper.from(propertyWrapper.getOtherEnd()).getter() + "()" + ",\n\t\t" + propertyWrapper.getTumlRuntimePropertyEnum() + ",\n\t\t" + "ChangeHolder.ChangeType.DELETE,\n\t\t" + "this.toJson()" + "\n\t)\n)"; }
private void addContructorWithVertex(OJAnnotatedClass ojClass, Classifier classifier) { OJConstructor constructor = new OJConstructor(); constructor.setVisibility(OJVisibilityKindGEN.PUBLIC); constructor.addParam("vertex", UmlgGenerationUtil.vertexPathName); constructor.getBody().addToStatements("super(vertex)"); constructor.getBody().addToStatements(UmlgGenerationUtil.transactionThreadMetaNodeVar.getLast() + ".setNewEntity(this)"); constructor.getBody().addToStatements(UmlgGenerationUtil.transactionThreadEntityVar.getLast() + ".remove(this)"); ojClass.addToImports(UmlgGenerationUtil.transactionThreadMetaNodeVar); ojClass.addToConstructors(constructor); }
/** * Implements the user defined operation '+ findClass( path: OJPathName ) : * OJClass' * * @param path */ public OJClass findClass(OJPathName path) { return (path.isSingleName() ? this.findLocalClass(path.getLast()) : this.findLocalPackage(path.getFirst()) .findClass(path.getTail())); }
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); }
/** * Callback for an EnumLiteralExp visit. * * @param el the enumeration literal expresion * @return the enumeration literal toString() */ @Override public String visitEnumLiteralExp(EnumLiteralExp<Classifier, EnumerationLiteral> el) { EnumerationLiteral l = el.getReferredEnumLiteral(); this.ojClass.addToImports(UmlgClassOperations.getPathName(l.getClassifier())); return UmlgClassOperations.getPathName(l.getClassifier()).getLast() + "." + l.getName(); }
private void addGetForQualifiedName(OJAnnotatedClass globalMap) { OJAnnotatedOperation get = new OJAnnotatedOperation("get", new OJPathName("<T extends " + UmlgGenerationUtil.UMLG_NODE.getLast() + "> Class<T>")); get.addParam("qualifiedName", "String"); get.getBody().addToStatements("return (Class<T>)this." + UmlgGenerationUtil.QualifiedNameClassMapName + ".get(qualifiedName)"); globalMap.addToOperations(get); }
private void addEntries(OJAnnotatedClass globalMap, Property p) { PropertyWrapper pWrap = new PropertyWrapper(p); OJAnnotatedOperation addAllEntries = globalMap.findOperation("addAllEntries"); addAllEntries.getBody().addToStatements("this." + UmlgGenerationUtil.QualifiedNameClassMapName + ".put(\"" + p.getQualifiedName() + "\", " + pWrap.javaBaseTypePath().getLast() + ".class)"); globalMap.addToImports(pWrap.javaBaseTypePath()); }
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 addGetEdgeToRootLabel(OJAnnotatedClass metaClass, Classifier classifier) { OJAnnotatedOperation getEdgeToRootLabel = new OJAnnotatedOperation("getEdgeToRootLabel", new OJPathName("String")); getEdgeToRootLabel.getBody().addToStatements("return " + UmlgGenerationUtil.UmlgLabelConverterFactoryPathName.getLast() + ".getUmlgLabelConverter().convert(\"" + UmlgGenerationUtil.getEdgeToRootLabelStrategyMeta(classifier) + "\")"); metaClass.addToImports(UmlgGenerationUtil.UmlgLabelConverterFactoryPathName); metaClass.addToOperations(getEdgeToRootLabel); }
private void addDefaultConstructor(OJAnnotatedClass annotatedClass, Class clazz) { annotatedClass.getDefaultConstructor().setVisibility(OJVisibilityKind.PRIVATE); annotatedClass.getDefaultConstructor().getBody().addToStatements("super(true)"); annotatedClass.getDefaultConstructor().setVisibility(OJVisibilityKind.PRIVATE); annotatedClass.getDefaultConstructor().getBody().addToStatements(UmlgGenerationUtil.transactionThreadEntityVar.getLast() + ".remove(this)"); annotatedClass.addToImports(UmlgGenerationUtil.transactionThreadEntityVar); }
private void addGetterToMetaClassForRootEntity(Class clazz) { OJAnnotatedClass annotatedClass = this.workspace.findOJClass(UmlgGenerationUtil.UmlgRootPackage.toJavaString() + "." + StringUtils.capitalize(ModelLoader.INSTANCE.getModel().getName())); OJAnnotatedOperation getter = new OJAnnotatedOperation("get" + UmlgClassOperations.getMetaClassPathName(clazz).getLast(), UmlgClassOperations.getMetaClassPathName(clazz)); annotatedClass.addToOperations(getter); annotatedClass.addToImports(UmlgGenerationUtil.umlgMemorySequence); annotatedClass.addToImports(new OJPathName("java.util.ArrayList")); annotatedClass.addToImports(UmlgClassOperations.getMetaClassPathName(clazz)); getter.getBody().addToStatements("return " + UmlgClassOperations.getMetaClassPathName(clazz) + ".getInstance()"); }
private void addGetterToAppRootForRootEntity(Class clazz, OJAnnotatedClass root) { OJAnnotatedOperation getter = new OJAnnotatedOperation("get" + UmlgClassOperations.className(clazz), UmlgGenerationUtil.umlgSet.getCopy().addToGenerics("? extends " + UmlgClassOperations.getPathName(clazz).getLast())); getter.setStatic(true); root.addToOperations(getter); getter.getBody().addToStatements("return " + UmlgClassOperations.getPathName(clazz) + ".allInstances()"); root.addToImports(UmlgClassOperations.getPathName(clazz)); root.addToImports(UmlgGenerationUtil.tinkerDirection); root.addToImports(UmlgGenerationUtil.UmlgLabelConverterFactoryPathName); }
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()"); }