/** Returns a copy of this instance. True parts, i.e. associations marked 'aggregate' or 'composite', and attributes, are copied as well. References to other objects, i.e. associations not marked 'aggregate' or 'composite', will not be copied. The returned copy will refer to the same objects as the original (this) instance. */ public OJElement getCopy() { OJField result = new OJField(); this.copyInfoInto(result); return result; }
public OJField getDeepCopy() { OJField copy = new OJField(); copyDeepInfoInto(copy); return copy; }
public OJField findAttributeValue(String fieldName){ for(OJField f:this.attributeValues){ if(f.getName().equals(fieldName)){ return f; } } OJField value=new OJField(); value.setName(fieldName); this.attributeValues.add(value); return value; }
private void addTmpIdField(OJAnnotatedClass annotatedClass) { OJField tmpId = new OJField("tmpId", "String"); tmpId.setComment("tmpId is only used the umlg restlet gui. It is never persisted. Its value is generated by the gui."); tmpId.setVisibility(OJVisibilityKindGEN.PRIVATE); annotatedClass.addToFields(tmpId); }
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); }
private void addCompositeParentIdField(PropertyWrapper pWrap, OJAnnotatedClass annotatedClass, boolean asAssociationClass) { OJField compositeParentFieldId; if (!asAssociationClass) { compositeParentFieldId = new OJField(UmlgClassOperations.getPathName(pWrap.getOtherEnd().getType()).getLast().toLowerCase() + "Id", new OJPathName("Object")); } else { compositeParentFieldId = new OJField(pWrap.getAssociationClassPathName().getLast().toLowerCase() + "Id", new OJPathName("Object")); } compositeParentFieldId.setVisibility(OJVisibilityKind.PRIVATE); annotatedClass.addToFields(compositeParentFieldId); }
protected void addPrivateIdVariable(Classifier clazz, OJAnnotatedClass annotatedClass) { OJField privateId = new OJField(getIdFieldName(clazz), new OJPathName("Object")); privateId.setVisibility(OJVisibilityKind.PRIVATE); annotatedClass.addToFields(privateId); }
private void addDefaultSerialization(OJAnnotatedClass annotatedClass) { OJField defaultSerialization = new OJField(annotatedClass, "serialVersionUID", new OJPathName("long")); defaultSerialization.setFinal(true); defaultSerialization.setStatic(true); defaultSerialization.setInitExp("1L"); }
protected void addCompositeParentIdField(PropertyWrapper pWrap, OJAnnotatedClass annotatedClass) { OJField compositeParentFieldId; if (pWrap.getOtherEnd() != null) { compositeParentFieldId = new OJField(UmlgClassOperations.getPathName(pWrap.getOtherEnd().getType()).getLast().toLowerCase() + "Id", new OJPathName("Object")); } else { compositeParentFieldId = new OJField(UmlgClassOperations.getPathName(pWrap.getOwningType()).getLast().toLowerCase() + "Id", new OJPathName("Object")); } compositeParentFieldId.setVisibility(OJVisibilityKind.PRIVATE); annotatedClass.addToFields(compositeParentFieldId); }
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 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); }
protected void persistUid(OJAnnotatedClass ojClass) { OJAnnotatedOperation getUid = new OJAnnotatedOperation("getUid"); getUid.setReturnType(new OJPathName("String")); getUid.addAnnotationIfNew(new OJAnnotationValue(new OJPathName("java.lang.Override"))); getUid.getBody().removeAllFromStatements(); new OJField(getUid.getBody(), "uid", "String"); OJIfStatement ifUidNotPresent = new OJIfStatement("!this.vertex.property(\"uid\").isPresent()"); ifUidNotPresent.addToThenPart("uid=UUID.randomUUID().toString()"); ifUidNotPresent.addToThenPart("this.vertex.property(\"uid\", uid)"); ifUidNotPresent.addToElsePart("uid=this.vertex.value(\"uid\")"); getUid.getBody().addToStatements(ifUidNotPresent); getUid.getBody().addToStatements("return uid"); ojClass.addToImports("java.util.UUID"); ojClass.addToOperations(getUid); }