org.umlg.associationclass.Person Maven / Gradle / Ivy
package org.umlg.associationclass;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
import org.apache.commons.lang3.StringEscapeUtils;
import org.apache.tinkerpop.gremlin.structure.Edge;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.umlg.associationclass.meta.PersonMeta;
import org.umlg.runtime.adaptor.TransactionThreadEntityVar;
import org.umlg.runtime.adaptor.UMLG;
import org.umlg.runtime.adaptor.UmlgLabelConverterFactory;
import org.umlg.runtime.adaptor.UmlgTmpIdManager;
import org.umlg.runtime.collection.Filter;
import org.umlg.runtime.collection.Qualifier;
import org.umlg.runtime.collection.UmlgOrderedSet;
import org.umlg.runtime.collection.UmlgPropertyAssociationClassOrderedSet;
import org.umlg.runtime.collection.UmlgPropertyAssociationClassSet;
import org.umlg.runtime.collection.UmlgRuntimeProperty;
import org.umlg.runtime.collection.UmlgSet;
import org.umlg.runtime.collection.memory.UmlgMemorySet;
import org.umlg.runtime.collection.persistent.UmlgAssociationClassOrderedSetImpl;
import org.umlg.runtime.collection.persistent.UmlgAssociationClassSetImpl;
import org.umlg.runtime.collection.persistent.UmlgPropertyAssociationClassOrderedSetImpl;
import org.umlg.runtime.collection.persistent.UmlgPropertyAssociationClassSetImpl;
import org.umlg.runtime.collection.persistent.UmlgSetImpl;
import org.umlg.runtime.domain.BaseUmlgCompositionNode;
import org.umlg.runtime.domain.CompositionNode;
import org.umlg.runtime.domain.DataTypeEnum;
import org.umlg.runtime.domain.UmlgMetaNode;
import org.umlg.runtime.domain.UmlgNode;
import org.umlg.runtime.domain.UmlgRootNode;
import org.umlg.runtime.util.ObjectMapperFactory;
import org.umlg.runtime.util.Pair;
import org.umlg.runtime.validation.UmlgConstraintViolation;
import org.umlg.runtime.validation.UmlgConstraintViolationException;
import org.umlg.runtime.validation.UmlgValidation;
public class Person extends BaseUmlgCompositionNode implements UmlgRootNode, CompositionNode {
static final public long serialVersionUID = 1L;
private UmlgSet name;
private UmlgPropertyAssociationClassOrderedSet knownBy;
private UmlgOrderedSet Friendship_knownBy;
private UmlgPropertyAssociationClassOrderedSet knows;
private UmlgOrderedSet Friendship_knows;
private UmlgPropertyAssociationClassSet company;
private UmlgSet Job;
private String tmpId; // tmpId is only used the umlg restlet gui. It is never persisted. Its value is generated by the gui.
/**
* constructor for Person
*
* @param id
*/
public Person(Object id) {
super(id);
}
/**
* constructor for Person
*
* @param vertex
*/
public Person(Vertex vertex) {
super(vertex);
}
/**
* default constructor for Person
*/
public Person() {
this(true);
}
/**
* constructor for Person
*
* @param persistent
*/
public Person(Boolean persistent) {
super(persistent);
Edge edge = UMLG.get().getRoot().addEdge(getEdgeToRootLabel(), this.vertex);
edge.property("inClass", this.getClass().getName());
}
public void addToCompany(Company company, Job job) {
if ( company != null ) {
this.company.add(company, job);
}
}
public void addToCompany(UmlgSet> Job) {
for ( Pair pair : Job ) {
addToCompany(pair.getFirst(), pair.getSecond());
}
}
public void addToCompanyIgnoreInverse(Company company, Job job) {
if ( company != null ) {
this.company.add(company, job);
}
}
public void addToKnownBy(Person knownBy, Friendship friendship) {
if ( knownBy != null ) {
this.knownBy.add(knownBy, friendship);
}
}
public void addToKnownBy(UmlgOrderedSet> Friendship_knownBy) {
for ( Pair pair : Friendship_knownBy ) {
addToKnownBy(pair.getFirst(), pair.getSecond());
}
}
public void addToKnownBy(int index, Person knownBy, Friendship friendship) {
if ( knownBy != null ) {
this.knownBy.add(index, knownBy, friendship);
}
}
public void addToKnownBy(int index, UmlgOrderedSet> Friendship_knownBy) {
for ( Pair pair : Friendship_knownBy ) {
addToKnownBy(pair.getFirst(), pair.getSecond());
}
}
public void addToKnownByIgnoreInverse(Person knownBy, Friendship friendship) {
if ( knownBy != null ) {
this.knownBy.add(knownBy, friendship);
}
}
public void addToKnows(Person knows, Friendship friendship) {
if ( knows != null ) {
this.knows.add(knows, friendship);
}
}
public void addToKnows(UmlgOrderedSet> Friendship_knows) {
for ( Pair pair : Friendship_knows ) {
addToKnows(pair.getFirst(), pair.getSecond());
}
}
public void addToKnows(int index, Person knows, Friendship friendship) {
if ( knows != null ) {
this.knows.add(index, knows, friendship);
}
}
public void addToKnows(int index, UmlgOrderedSet> Friendship_knows) {
for ( Pair pair : Friendship_knows ) {
addToKnows(pair.getFirst(), pair.getSecond());
}
}
public void addToKnowsIgnoreInverse(Person knows, Friendship friendship) {
if ( knows != null ) {
this.knows.add(knows, friendship);
}
}
public void addToName(String name) {
if ( !this.name.isEmpty() ) {
throw new RuntimeException("Property is a one and already has value, first clear it before adding!");
}
if ( name != null ) {
List violations = validateName(name);
if ( violations.isEmpty() ) {
this.name.add(name);
} else {
throw new UmlgConstraintViolationException(violations);
}
}
}
public void addToNameIgnoreInverse(String name) {
if ( !this.name.isEmpty() ) {
throw new RuntimeException("Property is a one and already has value, first clear it before adding!");
}
if ( name != null ) {
List violations = validateName(name);
if ( violations.isEmpty() ) {
this.name.add(name);
} else {
throw new UmlgConstraintViolationException(violations);
}
}
}
static public UmlgSet extends Person> allInstances(Filter filter) {
UmlgSet result = new UmlgMemorySet();
result.addAll(UMLG.get().allInstances(Person.class.getName(), filter));
return result;
}
static public UmlgSet extends Person> allInstances() {
UmlgSet result = new UmlgMemorySet();
result.addAll(UMLG.get().allInstances(Person.class.getName()));
return result;
}
@Override
public List checkClassConstraints() {
List result = new ArrayList();
return result;
}
public void clearCompany() {
this.company.clear();
this.Job = new UmlgAssociationClassSetImpl(this, PersonRuntimePropertyEnum.company);
}
public void clearKnownBy() {
this.knownBy.clear();
this.Friendship_knownBy = new UmlgAssociationClassOrderedSetImpl(this, PersonRuntimePropertyEnum.knownBy);
}
public void clearKnows() {
this.knows.clear();
this.Friendship_knows = new UmlgAssociationClassOrderedSetImpl(this, PersonRuntimePropertyEnum.knows);
}
public void clearName() {
this.name.clear();
}
@Override
public void delete() {
this.knownBy.clear();
this.company.clear();
this.knows.clear();
TransactionThreadEntityVar.remove(this);
this.vertex.remove();
}
@Override
public void fromJson(Map propertyMap) {
fromJsonDataTypeAndComposite(propertyMap);
fromJsonNonCompositeOne(propertyMap);
fromJsonNonCompositeRequiredMany(propertyMap);
}
@Override
public void fromJson(String json) {
ObjectMapper mapper = ObjectMapperFactory.INSTANCE.getObjectMapper();
try {
@SuppressWarnings( "unchecked")
Map propertyMap = mapper.readValue(json, Map.class);
fromJson(propertyMap);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
@Override
public void fromJsonDataTypeAndComposite(Map propertyMap) {
if ( propertyMap.containsKey("name") ) {
if ( propertyMap.get("name") != null ) {
String name = (String)propertyMap.get("name");
setName(name);
} else {
setName(null);
}
}
if ( propertyMap.containsKey("tmpId") ) {
if ( propertyMap.get("tmpId") != null ) {
this.tmpId = (String)propertyMap.get("tmpId");
UmlgTmpIdManager.INSTANCE.put(this.tmpId, getId());
} else {
this.tmpId = null;
}
}
}
@Override
public void fromJsonNonCompositeOne(Map propertyMap) {
}
@Override
public void fromJsonNonCompositeRequiredMany(Map propertyMap) {
}
public UmlgPropertyAssociationClassSet getCompany() {
return this.company;
}
public String getEdgeToRootLabel() {
return UmlgLabelConverterFactory.getUmlgLabelConverter().convert("root_Person");
}
public UmlgOrderedSet getFriendship_knownBy() {
return this.Friendship_knownBy;
}
public Friendship getFriendship_knownBy_knownBy(Person knownBy) {
for ( Friendship ac : this.Friendship_knownBy ) {
if ( ac.getKnownBy().equals(knownBy) ) {
return ac;
}
}
return null;
}
public UmlgOrderedSet getFriendship_knows() {
return this.Friendship_knows;
}
public Friendship getFriendship_knows_knows(Person knows) {
for ( Friendship ac : this.Friendship_knows ) {
if ( ac.getKnows().equals(knows) ) {
return ac;
}
}
return null;
}
public UmlgSet getJob() {
return this.Job;
}
public Job getJob_company(Company company) {
for ( Job ac : this.Job ) {
if ( ac.getCompany().equals(company) ) {
return ac;
}
}
return null;
}
public UmlgPropertyAssociationClassOrderedSet getKnownBy() {
return this.knownBy;
}
/**
* Implements the ocl statement for derived property 'knownByFriendship'
*
* package testoclmodel::org::umlg::associationclass
* context Person::knownByFriendship : OrderedSet(testoclmodel::org::umlg::associationclass::Friendship)
* derive: self.friendship[knownBy]
* endpackage
*
*/
public UmlgOrderedSet getKnownByFriendship() {
return this.getFriendship_knownBy();
}
public UmlgPropertyAssociationClassOrderedSet getKnows() {
return this.knows;
}
/**
* Implements the ocl statement for derived property 'knowsFriendship'
*
* package testoclmodel::org::umlg::associationclass
* context Person::knowsFriendship : OrderedSet(testoclmodel::org::umlg::associationclass::Friendship)
* derive: self.friendship[knows]
* endpackage
*
*/
public UmlgOrderedSet getKnowsFriendship() {
return this.getFriendship_knows();
}
@Override
public String getMetaDataAsJson() {
return Person.PersonRuntimePropertyEnum.asJson();
}
public UmlgMetaNode getMetaNode() {
return PersonMeta.getInstance();
}
public String getName() {
UmlgSet tmp = this.name;
if ( !tmp.isEmpty() ) {
return tmp.iterator().next();
} else {
return null;
}
}
@Override
public UmlgNode getOwningObject() {
return null;
}
@Override
public String getQualifiedName() {
return "testoclmodel::org::umlg::associationclass::Person";
}
/**
* getQualifiers is called from the collection in order to update the index used to implement the qualifier
*
* @param tumlRuntimeProperty
* @param node
* @param inverse
*/
@Override
public List getQualifiers(UmlgRuntimeProperty tumlRuntimeProperty, UmlgNode node, boolean inverse) {
List result = Collections.emptyList();
PersonRuntimePropertyEnum runtimeProperty;
if ( !inverse ) {
runtimeProperty = PersonRuntimePropertyEnum.fromQualifiedName(tumlRuntimeProperty.getQualifiedName());
} else {
runtimeProperty = PersonRuntimePropertyEnum.fromQualifiedName(tumlRuntimeProperty.getInverseQualifiedName());
}
if ( runtimeProperty != null && result.isEmpty() ) {
switch ( runtimeProperty ) {
default:
result = Collections.emptyList();
}
}
return result;
}
/**
* getSize is called from the BaseCollection.addInternal in order to save the sice of the inverse collection to update the edge's sequence order
*
* @param inverse
* @param tumlRuntimeProperty
*/
@Override
public int getSize(boolean inverse, UmlgRuntimeProperty tumlRuntimeProperty) {
int result = 0;
PersonRuntimePropertyEnum runtimeProperty;
if ( !inverse ) {
runtimeProperty = PersonRuntimePropertyEnum.fromQualifiedName(tumlRuntimeProperty.getQualifiedName());
} else {
runtimeProperty = PersonRuntimePropertyEnum.fromQualifiedName(tumlRuntimeProperty.getInverseQualifiedName());
}
if ( runtimeProperty != null && result == 0 ) {
switch ( runtimeProperty ) {
case knownBy:
result = knownBy.size();
break;
case name:
result = name.size();
break;
case company:
result = company.size();
break;
case knows:
result = knows.size();
break;
default:
result = 0;
}
}
return result;
}
@Override
public String getUid() {
String uid;
if ( !this.vertex.property("uid").isPresent() ) {
uid=UUID.randomUUID().toString();
this.vertex.property("uid", uid);
} else {
uid=this.vertex.value("uid");
}
return uid;
}
@Override
public boolean hasOnlyOneCompositeParent() {
int result = 0;
return result == 1;
}
public void initVariables() {
setName("");
}
@Override
public void initialiseProperties() {
this.knownBy = new UmlgPropertyAssociationClassOrderedSetImpl(this, PersonRuntimePropertyEnum.knownBy, PersonRuntimePropertyEnum.Friendship_knownBy);
this.Friendship_knownBy = new UmlgAssociationClassOrderedSetImpl(this, PersonRuntimePropertyEnum.knownBy);
this.name = new UmlgSetImpl(this, PersonRuntimePropertyEnum.name);
this.company = new UmlgPropertyAssociationClassSetImpl(this, PersonRuntimePropertyEnum.company, PersonRuntimePropertyEnum.Job);
this.Job = new UmlgAssociationClassSetImpl(this, PersonRuntimePropertyEnum.company);
this.knows = new UmlgPropertyAssociationClassOrderedSetImpl(this, PersonRuntimePropertyEnum.knows, PersonRuntimePropertyEnum.Friendship_knows);
this.Friendship_knows = new UmlgAssociationClassOrderedSetImpl(this, PersonRuntimePropertyEnum.knows);
}
@Override
public void initialiseProperty(UmlgRuntimeProperty tumlRuntimeProperty, boolean inverse) {
PersonRuntimePropertyEnum runtimeProperty;
if ( !inverse ) {
runtimeProperty = (PersonRuntimePropertyEnum.fromQualifiedName(tumlRuntimeProperty.getQualifiedName()));
} else {
runtimeProperty = (PersonRuntimePropertyEnum.fromQualifiedName(tumlRuntimeProperty.getInverseQualifiedName()));
}
if ( runtimeProperty != null ) {
switch ( runtimeProperty ) {
case knownBy:
this.knownBy = new UmlgPropertyAssociationClassOrderedSetImpl(this, PersonRuntimePropertyEnum.knownBy, PersonRuntimePropertyEnum.Friendship_knownBy);
this.Friendship_knownBy = new UmlgAssociationClassOrderedSetImpl(this, PersonRuntimePropertyEnum.knownBy);
break;
case name:
this.name = new UmlgSetImpl(this, PersonRuntimePropertyEnum.name);
break;
case company:
this.company = new UmlgPropertyAssociationClassSetImpl(this, PersonRuntimePropertyEnum.company, PersonRuntimePropertyEnum.Job);
this.Job = new UmlgAssociationClassSetImpl(this, PersonRuntimePropertyEnum.company);
break;
case knows:
this.knows = new UmlgPropertyAssociationClassOrderedSetImpl(this, PersonRuntimePropertyEnum.knows, PersonRuntimePropertyEnum.Friendship_knows);
this.Friendship_knows = new UmlgAssociationClassOrderedSetImpl(this, PersonRuntimePropertyEnum.knows);
break;
}
}
}
@Override
public UmlgRuntimeProperty inverseAdder(UmlgRuntimeProperty tumlRuntimeProperty, boolean inverse, UmlgNode umlgNode) {
PersonRuntimePropertyEnum runtimeProperty;
if ( !inverse ) {
runtimeProperty = (PersonRuntimePropertyEnum.fromQualifiedName(tumlRuntimeProperty.getQualifiedName()));
} else {
runtimeProperty = (PersonRuntimePropertyEnum.fromQualifiedName(tumlRuntimeProperty.getInverseQualifiedName()));
}
if ( runtimeProperty != null ) {
switch ( runtimeProperty ) {
case knownBy:
this.knownBy.inverseAdder((Person)umlgNode);
break;
case Friendship_knownBy:
this.Friendship_knownBy.inverseAdder((Friendship)umlgNode);
break;
case company:
this.company.inverseAdder((Company)umlgNode);
break;
case Job:
this.Job.inverseAdder((Job)umlgNode);
break;
case knows:
this.knows.inverseAdder((Person)umlgNode);
break;
case Friendship_knows:
this.Friendship_knows.inverseAdder((Friendship)umlgNode);
break;
}
return runtimeProperty;
} else {
return null;
}
}
@Override
public boolean isTinkerRoot() {
return true;
}
public UmlgSet lookupFor_knownBy_knows() {
UmlgSet result = new UmlgMemorySet();
Filter filter = new Filter() {
@Override
public boolean filter(Person entity){
return !entity.getKnownBy().contains(Person.this);
}
};
result.addAll(org.umlg.associationclass.Person.allInstances(filter));
return result;
}
public UmlgSet lookupFor_knows_knownBy() {
UmlgSet result = new UmlgMemorySet();
Filter filter = new Filter() {
@Override
public boolean filter(Person entity){
return !entity.getKnows().contains(Person.this);
}
};
result.addAll(org.umlg.associationclass.Person.allInstances(filter));
return result;
}
public UmlgSet lookupFor_person_company() {
UmlgSet result = new UmlgMemorySet();
Filter filter = new Filter() {
@Override
public boolean filter(Company entity){
return !entity.getPerson().contains(Person.this);
}
};
result.addAll(org.umlg.associationclass.Company.allInstances(filter));
return result;
}
public void moveKnownBy(Integer index, Person knownBy) {
if ( knownBy != null ) {
this.knownBy.move(index, knownBy, this.getFriendship_knownBy_knownBy(knownBy));
this.Friendship_knownBy = new UmlgAssociationClassOrderedSetImpl(this, PersonRuntimePropertyEnum.knownBy);
}
}
public void moveKnows(Integer index, Person knows) {
if ( knows != null ) {
this.knows.move(index, knows, this.getFriendship_knows_knows(knows));
this.Friendship_knows = new UmlgAssociationClassOrderedSetImpl(this, PersonRuntimePropertyEnum.knows);
}
}
public void removeFromCompany(Company company) {
if ( company != null ) {
this.company.remove(company);
this.Job = new UmlgAssociationClassSetImpl(this, PersonRuntimePropertyEnum.company);
}
}
public void removeFromCompany(UmlgSet company) {
if ( !company.isEmpty() ) {
this.company.removeAll(company);
this.Job = new UmlgAssociationClassSetImpl(this, PersonRuntimePropertyEnum.company);
}
}
public void removeFromKnownBy(Person knownBy) {
if ( knownBy != null ) {
this.knownBy.remove(knownBy);
this.Friendship_knownBy = new UmlgAssociationClassOrderedSetImpl(this, PersonRuntimePropertyEnum.knownBy);
}
}
public void removeFromKnownBy(UmlgOrderedSet knownBy) {
if ( !knownBy.isEmpty() ) {
this.knownBy.removeAll(knownBy);
this.Friendship_knownBy = new UmlgAssociationClassOrderedSetImpl(this, PersonRuntimePropertyEnum.knownBy);
}
}
public void removeFromKnows(Person knows) {
if ( knows != null ) {
this.knows.remove(knows);
this.Friendship_knows = new UmlgAssociationClassOrderedSetImpl(this, PersonRuntimePropertyEnum.knows);
}
}
public void removeFromKnows(UmlgOrderedSet knows) {
if ( !knows.isEmpty() ) {
this.knows.removeAll(knows);
this.Friendship_knows = new UmlgAssociationClassOrderedSetImpl(this, PersonRuntimePropertyEnum.knows);
}
}
public void removeFromName(String name) {
if ( name != null ) {
this.name.remove(name);
}
}
public void removeFromName(UmlgSet name) {
if ( !name.isEmpty() ) {
this.name.removeAll(name);
}
}
public void setCompany(UmlgSet> Job) {
clearCompany();
if ( Job != null ) {
addToCompany(Job);
}
}
public void setKnownBy(UmlgOrderedSet> Friendship_knownBy) {
clearKnownBy();
if ( Friendship_knownBy != null ) {
addToKnownBy(Friendship_knownBy);
}
}
public void setKnows(UmlgOrderedSet> Friendship_knows) {
clearKnows();
if ( Friendship_knows != null ) {
addToKnows(Friendship_knows);
}
}
public void setName(String name) {
clearName();
addToName(name);
}
/**
* deep indicates that components also be serialized.
*
* @param deep
*/
@Override
public String toJson(Boolean deep) {
StringBuilder sb = new StringBuilder();
if ( this.tmpId != null ) {
sb.append("\"tmpId\": \"" + this.tmpId + "\", ");
}
sb.append("\"id\": \"" + getId() + "\", ");
sb.append("\"metaNodeId\": \"" + getMetaNode().getId() + "\", ");
sb.append("\"name\": " + (getName() != null ? "\"" + StringEscapeUtils.escapeJson(getName()) + "\"" : null ));
sb.append(", ");
sb.append("\"qualifiedName\": \"" + getQualifiedName() + "\"");
sb.append(", ");
//PlaceHolder for restful
sb.append("\"uri\": {}");
sb.insert(0, "{");
sb.append("}");
return sb.toString();
}
@Override
public String toJson() {
return toJson(false);
}
/**
* deep indicates that components also be serialized.
*
* @param deep
*/
@Override
public String toJsonWithoutCompositeParent(Boolean deep) {
StringBuilder sb = new StringBuilder();
if ( this.tmpId != null ) {
sb.append("\"tmpId\": \"" + this.tmpId + "\", ");
}
sb.append("\"id\": \"" + getId() + "\", ");
sb.append("\"metaNodeId\": \"" + getMetaNode().getId() + "\", ");
sb.append("\"name\": " + (getName() != null ? "\"" + StringEscapeUtils.escapeJson(getName()) + "\"" : null ));
sb.append(", ");
sb.append("\"qualifiedName\": \"" + getQualifiedName() + "\"");
sb.append(", ");
//PlaceHolder for restful
sb.append("\"uri\": {}");
sb.insert(0, "{");
sb.append("}");
return sb.toString();
}
@Override
public String toJsonWithoutCompositeParent() {
return toJsonWithoutCompositeParent(false);
}
@Override
public List validateMultiplicities() {
List result = new ArrayList();
if ( getName() == null ) {
result.add(new UmlgConstraintViolation("multiplicity", "testoclmodel::org::umlg::associationclass::Person::name", "lower multiplicity is 1"));
}
return result;
}
public List validateName(String name) {
List result = new ArrayList();
return result;
}
static public enum PersonRuntimePropertyEnum implements UmlgRuntimeProperty {
knownBy(/* qualifiedName */ "testoclmodel::org::umlg::associationclass::Person::knownBy",/* persistentName */ "knownBy",/* inverseName */ "knows",/* inverseQualifiedName */ "testoclmodel::org::umlg::associationclass::Person::knows",/* isAssociationClassOne */ false,/* isMemberEndOfAssociationClass */ true,/* associationClassPropertyNameField */ "Friendship_knownBy",/* inverseAssociationClassPropertyNameField */ "Friendship_knows",/* isAssociationClassProperty */ false,/* isOnePrimitivePropertyOfAssociationClass */ false,/* isOnePrimitive */ false,/* isReadOnly */ false,/* dataTypeEnum */ null,/* validations */ Collections.emptyList(),/* isManyPrimitive */ false,/* oneEnumeration */ false,/* manyEnumeration */ false,/* isControllingSide */ true,/* isComposite */ false,/* isInverseComposite */ false,/* label */ UmlgLabelConverterFactory.getUmlgLabelConverter().convert("Friendship"),/* isOneToOne */ false,/* isOneToMany */ false,/* isManyToOne */ false,/* isManyToMany */ true,/* upper */ -1,/* lower */ 0,/* inverseUpper */ -1,/* isQualified */ false,/* isInverseQualified */ false,/* isOrdered */ true,/* isInverseOrdered */ true,/* isUnique */ true,/* isInverseUnique */ true,/* isDerived */ false,/* isNavigable */ true,/* propertyType */ Person.class,/* json */ "{\"name\": \"knownBy\", \"associationClassOne\": false, \"memberEndOfAssociationClass\": true, \"associationClassPropertyName\": \"Friendship_knownBy\", \"inverseAssociationClassPropertyName\": \"Friendship_knows\", \"associationClassProperty\": false, \"onePrimitivePropertyOfAssociationClass\": false, \"onePrimitive\": false, \"readOnly\": false, \"dataTypeEnum\": null, \"validations\": null, \"qualifiedName\": \"testoclmodel::org::umlg::associationclass::Person::knownBy\", \"persistentName\": \"knownBy\", \"inverseName\": \"knows\", \"inverseQualifiedName\": \"testoclmodel::org::umlg::associationclass::Person::knows\", \"manyPrimitive\": false, \"oneEnumeration\": false, \"manyEnumeration\": false, \"controllingSide\": true, \"composite\": false, \"inverseComposite\": false, \"oneToOne\": false, \"oneToMany\": false, \"manyToOne\": false, \"manyToMany\": true, \"upper\": -1, \"lower\": 0, \"inverseUpper\": -1, \"label\": \"Friendship\", \"qualified\": false, \"inverseQualified\": false, \"ordered\": true, \"inverseOrdered\": true, \"unique\": true, \"inverseUnique\": true, \"derived\": false, \"navigable\": true}",/* isChangeListenerAttribute */ false),
Friendship_knownBy(/* qualifiedName */ "testoclmodel::org::umlg::associationclass::Person::knownByAC",/* persistentName */ "knownByAC",/* inverseName */ "knows",/* inverseQualifiedName */ "testoclmodel::org::umlg::associationclass::Person::knowsAC",/* isAssociationClassOne */ true,/* isMemberEndOfAssociationClass */ false,/* associationClassPropertyNameField */ "Friendship_knownBy",/* inverseAssociationClassPropertyNameField */ "Friendship_knows",/* isAssociationClassProperty */ false,/* isOnePrimitivePropertyOfAssociationClass */ false,/* isOnePrimitive */ false,/* isReadOnly */ false,/* dataTypeEnum */ null,/* validations */ Collections.emptyList(),/* isManyPrimitive */ false,/* oneEnumeration */ false,/* manyEnumeration */ false,/* isControllingSide */ true,/* isComposite */ false,/* isInverseComposite */ false,/* label */ UmlgLabelConverterFactory.getUmlgLabelConverter().convert("Friendship_AC"),/* isOneToOne */ false,/* isOneToMany */ false,/* isManyToOne */ false,/* isManyToMany */ true,/* upper */ -1,/* lower */ 0,/* inverseUpper */ -1,/* isQualified */ false,/* isInverseQualified */ false,/* isOrdered */ true,/* isInverseOrdered */ true,/* isUnique */ true,/* isInverseUnique */ true,/* isDerived */ false,/* isNavigable */ true,/* propertyType */ Person.class,/* json */ "{\"name\": \"Friendship_knownBy\", \"associationClassOne\": true, \"memberEndOfAssociationClass\": false, \"associationClassPropertyName\": \"Friendship_knownBy\", \"inverseAssociationClassPropertyName\": \"Friendship_knows\", \"associationClassProperty\": false, \"onePrimitivePropertyOfAssociationClass\": false, \"onePrimitive\": false, \"readOnly\": false, \"dataTypeEnum\": null, \"validations\": null, \"qualifiedName\": \"testoclmodel::org::umlg::associationclass::Person::knownByAC\", \"persistentName\": \"knownByAC\", \"inverseName\": \"knows\", \"inverseQualifiedName\": \"testoclmodel::org::umlg::associationclass::Person::knowsAC\", \"manyPrimitive\": false, \"oneEnumeration\": false, \"manyEnumeration\": false, \"controllingSide\": true, \"composite\": false, \"inverseComposite\": false, \"oneToOne\": false, \"oneToMany\": false, \"manyToOne\": false, \"manyToMany\": true, \"upper\": -1, \"lower\": 0, \"inverseUpper\": -1, \"label\": \"Friendship_AC\", \"qualified\": false, \"inverseQualified\": false, \"ordered\": true, \"inverseOrdered\": true, \"unique\": true, \"inverseUnique\": true, \"derived\": false, \"navigable\": true}",/* isChangeListenerAttribute */ false),
name(/* qualifiedName */ "testoclmodel::org::umlg::associationclass::Person::name",/* persistentName */ "name",/* inverseName */ "inverseOf::name",/* inverseQualifiedName */ "inverseOf::testoclmodel::org::umlg::associationclass::Person::name",/* isAssociationClassOne */ false,/* isMemberEndOfAssociationClass */ false,/* associationClassPropertyNameField */ "null",/* inverseAssociationClassPropertyNameField */ "null",/* isAssociationClassProperty */ false,/* isOnePrimitivePropertyOfAssociationClass */ false,/* isOnePrimitive */ true,/* isReadOnly */ false,/* dataTypeEnum */ null,/* validations */ Collections.emptyList(),/* isManyPrimitive */ false,/* oneEnumeration */ false,/* manyEnumeration */ false,/* isControllingSide */ true,/* isComposite */ false,/* isInverseComposite */ false,/* label */ UmlgLabelConverterFactory.getUmlgLabelConverter().convert("name"),/* isOneToOne */ false,/* isOneToMany */ false,/* isManyToOne */ true,/* isManyToMany */ false,/* upper */ 1,/* lower */ 1,/* inverseUpper */ 1,/* isQualified */ false,/* isInverseQualified */ false,/* isOrdered */ false,/* isInverseOrdered */ false,/* isUnique */ true,/* isInverseUnique */ false,/* isDerived */ false,/* isNavigable */ true,/* propertyType */ String.class,/* json */ "{\"name\": \"name\", \"associationClassOne\": false, \"memberEndOfAssociationClass\": false, \"associationClassPropertyName\": null, \"inverseAssociationClassPropertyName\": null, \"associationClassProperty\": false, \"onePrimitivePropertyOfAssociationClass\": false, \"onePrimitive\": true, \"readOnly\": false, \"dataTypeEnum\": null, \"validations\": null, \"qualifiedName\": \"testoclmodel::org::umlg::associationclass::Person::name\", \"persistentName\": \"name\", \"inverseName\": \"inverseOf::name\", \"inverseQualifiedName\": \"inverseOf::testoclmodel::org::umlg::associationclass::Person::name\", \"manyPrimitive\": false, \"oneEnumeration\": false, \"manyEnumeration\": false, \"controllingSide\": true, \"composite\": false, \"inverseComposite\": false, \"oneToOne\": false, \"oneToMany\": false, \"manyToOne\": true, \"manyToMany\": false, \"upper\": 1, \"lower\": 1, \"inverseUpper\": 1, \"label\": \"name\", \"qualified\": false, \"inverseQualified\": false, \"ordered\": false, \"inverseOrdered\": false, \"unique\": true, \"inverseUnique\": false, \"derived\": false, \"navigable\": true}",/* isChangeListenerAttribute */ false),
company(/* qualifiedName */ "testoclmodel::org::umlg::associationclass::Job::company",/* persistentName */ "company",/* inverseName */ "person",/* inverseQualifiedName */ "testoclmodel::org::umlg::associationclass::Company::person",/* isAssociationClassOne */ false,/* isMemberEndOfAssociationClass */ true,/* associationClassPropertyNameField */ "Job",/* inverseAssociationClassPropertyNameField */ "Job",/* isAssociationClassProperty */ false,/* isOnePrimitivePropertyOfAssociationClass */ false,/* isOnePrimitive */ false,/* isReadOnly */ false,/* dataTypeEnum */ null,/* validations */ Collections.emptyList(),/* isManyPrimitive */ false,/* oneEnumeration */ false,/* manyEnumeration */ false,/* isControllingSide */ true,/* isComposite */ false,/* isInverseComposite */ false,/* label */ UmlgLabelConverterFactory.getUmlgLabelConverter().convert("Job"),/* isOneToOne */ false,/* isOneToMany */ false,/* isManyToOne */ false,/* isManyToMany */ true,/* upper */ -1,/* lower */ 0,/* inverseUpper */ -1,/* isQualified */ false,/* isInverseQualified */ false,/* isOrdered */ false,/* isInverseOrdered */ false,/* isUnique */ true,/* isInverseUnique */ true,/* isDerived */ false,/* isNavigable */ true,/* propertyType */ Company.class,/* json */ "{\"name\": \"company\", \"associationClassOne\": false, \"memberEndOfAssociationClass\": true, \"associationClassPropertyName\": \"Job\", \"inverseAssociationClassPropertyName\": \"Job\", \"associationClassProperty\": false, \"onePrimitivePropertyOfAssociationClass\": false, \"onePrimitive\": false, \"readOnly\": false, \"dataTypeEnum\": null, \"validations\": null, \"qualifiedName\": \"testoclmodel::org::umlg::associationclass::Job::company\", \"persistentName\": \"company\", \"inverseName\": \"person\", \"inverseQualifiedName\": \"testoclmodel::org::umlg::associationclass::Company::person\", \"manyPrimitive\": false, \"oneEnumeration\": false, \"manyEnumeration\": false, \"controllingSide\": true, \"composite\": false, \"inverseComposite\": false, \"oneToOne\": false, \"oneToMany\": false, \"manyToOne\": false, \"manyToMany\": true, \"upper\": -1, \"lower\": 0, \"inverseUpper\": -1, \"label\": \"Job\", \"qualified\": false, \"inverseQualified\": false, \"ordered\": false, \"inverseOrdered\": false, \"unique\": true, \"inverseUnique\": true, \"derived\": false, \"navigable\": true}",/* isChangeListenerAttribute */ false),
Job(/* qualifiedName */ "testoclmodel::org::umlg::associationclass::Job::companyAC",/* persistentName */ "companyAC",/* inverseName */ "person",/* inverseQualifiedName */ "testoclmodel::org::umlg::associationclass::Company::personAC",/* isAssociationClassOne */ true,/* isMemberEndOfAssociationClass */ false,/* associationClassPropertyNameField */ "Job",/* inverseAssociationClassPropertyNameField */ "Job",/* isAssociationClassProperty */ false,/* isOnePrimitivePropertyOfAssociationClass */ false,/* isOnePrimitive */ false,/* isReadOnly */ false,/* dataTypeEnum */ null,/* validations */ Collections.emptyList(),/* isManyPrimitive */ false,/* oneEnumeration */ false,/* manyEnumeration */ false,/* isControllingSide */ true,/* isComposite */ false,/* isInverseComposite */ false,/* label */ UmlgLabelConverterFactory.getUmlgLabelConverter().convert("Job_AC"),/* isOneToOne */ false,/* isOneToMany */ false,/* isManyToOne */ false,/* isManyToMany */ true,/* upper */ -1,/* lower */ 0,/* inverseUpper */ -1,/* isQualified */ false,/* isInverseQualified */ false,/* isOrdered */ false,/* isInverseOrdered */ false,/* isUnique */ true,/* isInverseUnique */ true,/* isDerived */ false,/* isNavigable */ true,/* propertyType */ Company.class,/* json */ "{\"name\": \"Job\", \"associationClassOne\": true, \"memberEndOfAssociationClass\": false, \"associationClassPropertyName\": \"Job\", \"inverseAssociationClassPropertyName\": \"Job\", \"associationClassProperty\": false, \"onePrimitivePropertyOfAssociationClass\": false, \"onePrimitive\": false, \"readOnly\": false, \"dataTypeEnum\": null, \"validations\": null, \"qualifiedName\": \"testoclmodel::org::umlg::associationclass::Job::companyAC\", \"persistentName\": \"companyAC\", \"inverseName\": \"person\", \"inverseQualifiedName\": \"testoclmodel::org::umlg::associationclass::Company::personAC\", \"manyPrimitive\": false, \"oneEnumeration\": false, \"manyEnumeration\": false, \"controllingSide\": true, \"composite\": false, \"inverseComposite\": false, \"oneToOne\": false, \"oneToMany\": false, \"manyToOne\": false, \"manyToMany\": true, \"upper\": -1, \"lower\": 0, \"inverseUpper\": -1, \"label\": \"Job_AC\", \"qualified\": false, \"inverseQualified\": false, \"ordered\": false, \"inverseOrdered\": false, \"unique\": true, \"inverseUnique\": true, \"derived\": false, \"navigable\": true}",/* isChangeListenerAttribute */ false),
knownByFriendship(/* qualifiedName */ "testoclmodel::org::umlg::associationclass::Person::knownByFriendship",/* persistentName */ "knownByFriendship",/* inverseName */ "inverseOf::knownByFriendship",/* inverseQualifiedName */ "inverseOf::testoclmodel::org::umlg::associationclass::Person::knownByFriendship",/* isAssociationClassOne */ false,/* isMemberEndOfAssociationClass */ false,/* associationClassPropertyNameField */ "null",/* inverseAssociationClassPropertyNameField */ "null",/* isAssociationClassProperty */ false,/* isOnePrimitivePropertyOfAssociationClass */ false,/* isOnePrimitive */ false,/* isReadOnly */ true,/* dataTypeEnum */ null,/* validations */ Collections.emptyList(),/* isManyPrimitive */ false,/* oneEnumeration */ false,/* manyEnumeration */ false,/* isControllingSide */ true,/* isComposite */ false,/* isInverseComposite */ false,/* label */ UmlgLabelConverterFactory.getUmlgLabelConverter().convert("knownByFriendship"),/* isOneToOne */ false,/* isOneToMany */ false,/* isManyToOne */ false,/* isManyToMany */ true,/* upper */ -1,/* lower */ 0,/* inverseUpper */ 1,/* isQualified */ false,/* isInverseQualified */ false,/* isOrdered */ true,/* isInverseOrdered */ false,/* isUnique */ true,/* isInverseUnique */ false,/* isDerived */ true,/* isNavigable */ true,/* propertyType */ Friendship.class,/* json */ "{\"name\": \"knownByFriendship\", \"associationClassOne\": false, \"memberEndOfAssociationClass\": false, \"associationClassPropertyName\": null, \"inverseAssociationClassPropertyName\": null, \"associationClassProperty\": false, \"onePrimitivePropertyOfAssociationClass\": false, \"onePrimitive\": false, \"readOnly\": true, \"dataTypeEnum\": null, \"validations\": null, \"qualifiedName\": \"testoclmodel::org::umlg::associationclass::Person::knownByFriendship\", \"persistentName\": \"knownByFriendship\", \"inverseName\": \"inverseOf::knownByFriendship\", \"inverseQualifiedName\": \"inverseOf::testoclmodel::org::umlg::associationclass::Person::knownByFriendship\", \"manyPrimitive\": false, \"oneEnumeration\": false, \"manyEnumeration\": false, \"controllingSide\": true, \"composite\": false, \"inverseComposite\": false, \"oneToOne\": false, \"oneToMany\": false, \"manyToOne\": false, \"manyToMany\": true, \"upper\": -1, \"lower\": 0, \"inverseUpper\": 1, \"label\": \"knownByFriendship\", \"qualified\": false, \"inverseQualified\": false, \"ordered\": true, \"inverseOrdered\": false, \"unique\": true, \"inverseUnique\": false, \"derived\": true, \"navigable\": true}",/* isChangeListenerAttribute */ false),
knowsFriendship(/* qualifiedName */ "testoclmodel::org::umlg::associationclass::Person::knowsFriendship",/* persistentName */ "knowsFriendship",/* inverseName */ "inverseOf::knowsFriendship",/* inverseQualifiedName */ "inverseOf::testoclmodel::org::umlg::associationclass::Person::knowsFriendship",/* isAssociationClassOne */ false,/* isMemberEndOfAssociationClass */ false,/* associationClassPropertyNameField */ "null",/* inverseAssociationClassPropertyNameField */ "null",/* isAssociationClassProperty */ false,/* isOnePrimitivePropertyOfAssociationClass */ false,/* isOnePrimitive */ false,/* isReadOnly */ true,/* dataTypeEnum */ null,/* validations */ Collections.emptyList(),/* isManyPrimitive */ false,/* oneEnumeration */ false,/* manyEnumeration */ false,/* isControllingSide */ true,/* isComposite */ false,/* isInverseComposite */ false,/* label */ UmlgLabelConverterFactory.getUmlgLabelConverter().convert("knowsFriendship"),/* isOneToOne */ false,/* isOneToMany */ false,/* isManyToOne */ false,/* isManyToMany */ true,/* upper */ -1,/* lower */ 0,/* inverseUpper */ 1,/* isQualified */ false,/* isInverseQualified */ false,/* isOrdered */ true,/* isInverseOrdered */ false,/* isUnique */ true,/* isInverseUnique */ false,/* isDerived */ true,/* isNavigable */ true,/* propertyType */ Friendship.class,/* json */ "{\"name\": \"knowsFriendship\", \"associationClassOne\": false, \"memberEndOfAssociationClass\": false, \"associationClassPropertyName\": null, \"inverseAssociationClassPropertyName\": null, \"associationClassProperty\": false, \"onePrimitivePropertyOfAssociationClass\": false, \"onePrimitive\": false, \"readOnly\": true, \"dataTypeEnum\": null, \"validations\": null, \"qualifiedName\": \"testoclmodel::org::umlg::associationclass::Person::knowsFriendship\", \"persistentName\": \"knowsFriendship\", \"inverseName\": \"inverseOf::knowsFriendship\", \"inverseQualifiedName\": \"inverseOf::testoclmodel::org::umlg::associationclass::Person::knowsFriendship\", \"manyPrimitive\": false, \"oneEnumeration\": false, \"manyEnumeration\": false, \"controllingSide\": true, \"composite\": false, \"inverseComposite\": false, \"oneToOne\": false, \"oneToMany\": false, \"manyToOne\": false, \"manyToMany\": true, \"upper\": -1, \"lower\": 0, \"inverseUpper\": 1, \"label\": \"knowsFriendship\", \"qualified\": false, \"inverseQualified\": false, \"ordered\": true, \"inverseOrdered\": false, \"unique\": true, \"inverseUnique\": false, \"derived\": true, \"navigable\": true}",/* isChangeListenerAttribute */ false),
knows(/* qualifiedName */ "testoclmodel::org::umlg::associationclass::Person::knows",/* persistentName */ "knows",/* inverseName */ "knownBy",/* inverseQualifiedName */ "testoclmodel::org::umlg::associationclass::Person::knownBy",/* isAssociationClassOne */ false,/* isMemberEndOfAssociationClass */ true,/* associationClassPropertyNameField */ "Friendship_knows",/* inverseAssociationClassPropertyNameField */ "Friendship_knownBy",/* isAssociationClassProperty */ false,/* isOnePrimitivePropertyOfAssociationClass */ false,/* isOnePrimitive */ false,/* isReadOnly */ false,/* dataTypeEnum */ null,/* validations */ Collections.emptyList(),/* isManyPrimitive */ false,/* oneEnumeration */ false,/* manyEnumeration */ false,/* isControllingSide */ false,/* isComposite */ false,/* isInverseComposite */ false,/* label */ UmlgLabelConverterFactory.getUmlgLabelConverter().convert("Friendship"),/* isOneToOne */ false,/* isOneToMany */ false,/* isManyToOne */ false,/* isManyToMany */ true,/* upper */ -1,/* lower */ 0,/* inverseUpper */ -1,/* isQualified */ false,/* isInverseQualified */ false,/* isOrdered */ true,/* isInverseOrdered */ true,/* isUnique */ true,/* isInverseUnique */ true,/* isDerived */ false,/* isNavigable */ true,/* propertyType */ Person.class,/* json */ "{\"name\": \"knows\", \"associationClassOne\": false, \"memberEndOfAssociationClass\": true, \"associationClassPropertyName\": \"Friendship_knows\", \"inverseAssociationClassPropertyName\": \"Friendship_knownBy\", \"associationClassProperty\": false, \"onePrimitivePropertyOfAssociationClass\": false, \"onePrimitive\": false, \"readOnly\": false, \"dataTypeEnum\": null, \"validations\": null, \"qualifiedName\": \"testoclmodel::org::umlg::associationclass::Person::knows\", \"persistentName\": \"knows\", \"inverseName\": \"knownBy\", \"inverseQualifiedName\": \"testoclmodel::org::umlg::associationclass::Person::knownBy\", \"manyPrimitive\": false, \"oneEnumeration\": false, \"manyEnumeration\": false, \"controllingSide\": false, \"composite\": false, \"inverseComposite\": false, \"oneToOne\": false, \"oneToMany\": false, \"manyToOne\": false, \"manyToMany\": true, \"upper\": -1, \"lower\": 0, \"inverseUpper\": -1, \"label\": \"Friendship\", \"qualified\": false, \"inverseQualified\": false, \"ordered\": true, \"inverseOrdered\": true, \"unique\": true, \"inverseUnique\": true, \"derived\": false, \"navigable\": true}",/* isChangeListenerAttribute */ false),
Friendship_knows(/* qualifiedName */ "testoclmodel::org::umlg::associationclass::Person::knowsAC",/* persistentName */ "knowsAC",/* inverseName */ "knownBy",/* inverseQualifiedName */ "testoclmodel::org::umlg::associationclass::Person::knownByAC",/* isAssociationClassOne */ true,/* isMemberEndOfAssociationClass */ false,/* associationClassPropertyNameField */ "Friendship_knows",/* inverseAssociationClassPropertyNameField */ "Friendship_knownBy",/* isAssociationClassProperty */ false,/* isOnePrimitivePropertyOfAssociationClass */ false,/* isOnePrimitive */ false,/* isReadOnly */ false,/* dataTypeEnum */ null,/* validations */ Collections.emptyList(),/* isManyPrimitive */ false,/* oneEnumeration */ false,/* manyEnumeration */ false,/* isControllingSide */ false,/* isComposite */ false,/* isInverseComposite */ false,/* label */ UmlgLabelConverterFactory.getUmlgLabelConverter().convert("Friendship_AC"),/* isOneToOne */ false,/* isOneToMany */ false,/* isManyToOne */ false,/* isManyToMany */ true,/* upper */ -1,/* lower */ 0,/* inverseUpper */ -1,/* isQualified */ false,/* isInverseQualified */ false,/* isOrdered */ true,/* isInverseOrdered */ true,/* isUnique */ true,/* isInverseUnique */ true,/* isDerived */ false,/* isNavigable */ true,/* propertyType */ Person.class,/* json */ "{\"name\": \"Friendship_knows\", \"associationClassOne\": true, \"memberEndOfAssociationClass\": false, \"associationClassPropertyName\": \"Friendship_knows\", \"inverseAssociationClassPropertyName\": \"Friendship_knownBy\", \"associationClassProperty\": false, \"onePrimitivePropertyOfAssociationClass\": false, \"onePrimitive\": false, \"readOnly\": false, \"dataTypeEnum\": null, \"validations\": null, \"qualifiedName\": \"testoclmodel::org::umlg::associationclass::Person::knowsAC\", \"persistentName\": \"knowsAC\", \"inverseName\": \"knownBy\", \"inverseQualifiedName\": \"testoclmodel::org::umlg::associationclass::Person::knownByAC\", \"manyPrimitive\": false, \"oneEnumeration\": false, \"manyEnumeration\": false, \"controllingSide\": false, \"composite\": false, \"inverseComposite\": false, \"oneToOne\": false, \"oneToMany\": false, \"manyToOne\": false, \"manyToMany\": true, \"upper\": -1, \"lower\": 0, \"inverseUpper\": -1, \"label\": \"Friendship_AC\", \"qualified\": false, \"inverseQualified\": false, \"ordered\": true, \"inverseOrdered\": true, \"unique\": true, \"inverseUnique\": true, \"derived\": false, \"navigable\": true}",/* isChangeListenerAttribute */ false),
testoclmodel(/* qualifiedName */ "testoclmodel",/* persistentName */ "testoclmodel",/* inverseName */ "inverseOftestoclmodel",/* inverseQualifiedName */ "inverseOftestoclmodel",/* isAssociationClassOne */ false,/* isMemberEndOfAssociationClass */ false,/* associationClassPropertyNameField */ "null",/* inverseAssociationClassPropertyNameField */ "null",/* isAssociationClassProperty */ false,/* isOnePrimitivePropertyOfAssociationClass */ false,/* isOnePrimitive */ false,/* isReadOnly */ false,/* dataTypeEnum */ null,/* validations */ Collections.emptyList(),/* isManyPrimitive */ false,/* oneEnumeration */ false,/* manyEnumeration */ false,/* isControllingSide */ true,/* isComposite */ false,/* isInverseComposite */ true,/* label */ UmlgLabelConverterFactory.getUmlgLabelConverter().convert("rootPerson"),/* isOneToOne */ true,/* isOneToMany */ false,/* isManyToOne */ false,/* isManyToMany */ false,/* upper */ -1,/* lower */ 0,/* inverseUpper */ 1,/* isQualified */ false,/* isInverseQualified */ false,/* isOrdered */ false,/* isInverseOrdered */ false,/* isUnique */ false,/* isInverseUnique */ false,/* isDerived */ false,/* isNavigable */ false,/* propertyType */ Object.class,/* json */ "{\"name\": \"testoclmodel\", \"associationClassOne\": false, \"memberEndOfAssociationClass\": false, \"associationClassPropertyName\": null, \"inverseAssociationClassPropertyName\": null, \"associationClassProperty\": false, \"onePrimitivePropertyOfAssociationClass\": false, \"onePrimitive\": false, \"readOnly\": false, \"dataTypeEnum\": null, \"validations\": null, \"qualifiedName\": \"testoclmodel\", \"persistentName\": \"testoclmodel\", \"inverseName\": \"inverseOftestoclmodel\", \"inverseQualifiedName\": \"inverseOftestoclmodel\", \"manyPrimitive\": false, \"oneEnumeration\": false, \"manyEnumeration\": false, \"controllingSide\": true, \"composite\": false, \"inverseComposite\": true, \"oneToOne\": true, \"oneToMany\": false, \"manyToOne\": false, \"manyToMany\": false, \"upper\": -1, \"lower\": 0, \"inverseUpper\": 1, \"label\": \"rootPerson\", \"qualified\": false, \"inverseQualified\": false, \"ordered\": false, \"inverseOrdered\": false, \"unique\": false, \"inverseUnique\": false, \"derived\": false, \"navigable\": false}",/* isChangeListenerAttribute */ false);
private String _qualifiedName;
private String _persistentName;
private String _inverseName;
private String _inverseQualifiedName;
private boolean _associationClassOne;
private boolean _memberEndOfAssociationClass;
private String _associationClassPropertyName;
private String _inverseAssociationClassPropertyName;
private boolean _associationClassProperty;
private boolean _onePrimitivePropertyOfAssociationClass;
private boolean _onePrimitive;
private Boolean _readOnly;
private DataTypeEnum dataTypeEnum;
private List validations;
private boolean _manyPrimitive;
private boolean _oneEnumeration;
private boolean _manyEnumeration;
private boolean _controllingSide;
private boolean _composite;
private boolean _inverseComposite;
private String _label;
private boolean _oneToOne;
private boolean _oneToMany;
private boolean _manyToOne;
private boolean _manyToMany;
private int _upper;
private int _lower;
private int _inverseUpper;
private boolean _qualified;
private boolean _inverseQualified;
private boolean _ordered;
private boolean _inverseOrdered;
private boolean _unique;
private boolean _inverseUnique;
private boolean _derived;
private boolean _navigability;
private Class _propertyType;
private String _json;
private boolean _changeListener;
/**
* constructor for PersonRuntimePropertyEnum
*
* @param _qualifiedName
* @param _persistentName
* @param _inverseName
* @param _inverseQualifiedName
* @param _associationClassOne
* @param _memberEndOfAssociationClass
* @param _associationClassPropertyName
* @param _inverseAssociationClassPropertyName
* @param _associationClassProperty
* @param _onePrimitivePropertyOfAssociationClass
* @param _onePrimitive
* @param _readOnly
* @param dataTypeEnum
* @param validations
* @param _manyPrimitive
* @param _oneEnumeration
* @param _manyEnumeration
* @param _controllingSide
* @param _composite
* @param _inverseComposite
* @param _label
* @param _oneToOne
* @param _oneToMany
* @param _manyToOne
* @param _manyToMany
* @param _upper
* @param _lower
* @param _inverseUpper
* @param _qualified
* @param _inverseQualified
* @param _ordered
* @param _inverseOrdered
* @param _unique
* @param _inverseUnique
* @param _derived
* @param _navigability
* @param _propertyType
* @param _json
* @param _changeListener
*/
private PersonRuntimePropertyEnum(String _qualifiedName, String _persistentName, String _inverseName, String _inverseQualifiedName, boolean _associationClassOne, boolean _memberEndOfAssociationClass, String _associationClassPropertyName, String _inverseAssociationClassPropertyName, boolean _associationClassProperty, boolean _onePrimitivePropertyOfAssociationClass, boolean _onePrimitive, Boolean _readOnly, DataTypeEnum dataTypeEnum, List validations, boolean _manyPrimitive, boolean _oneEnumeration, boolean _manyEnumeration, boolean _controllingSide, boolean _composite, boolean _inverseComposite, String _label, boolean _oneToOne, boolean _oneToMany, boolean _manyToOne, boolean _manyToMany, int _upper, int _lower, int _inverseUpper, boolean _qualified, boolean _inverseQualified, boolean _ordered, boolean _inverseOrdered, boolean _unique, boolean _inverseUnique, boolean _derived, boolean _navigability, Class _propertyType, String _json, boolean _changeListener) {
this._qualifiedName = _qualifiedName;
this._persistentName = _persistentName;
this._inverseName = _inverseName;
this._inverseQualifiedName = _inverseQualifiedName;
this._associationClassOne = _associationClassOne;
this._memberEndOfAssociationClass = _memberEndOfAssociationClass;
this._associationClassPropertyName = _associationClassPropertyName;
this._inverseAssociationClassPropertyName = _inverseAssociationClassPropertyName;
this._associationClassProperty = _associationClassProperty;
this._onePrimitivePropertyOfAssociationClass = _onePrimitivePropertyOfAssociationClass;
this._onePrimitive = _onePrimitive;
this._readOnly = _readOnly;
this.dataTypeEnum = dataTypeEnum;
this.validations = validations;
this._manyPrimitive = _manyPrimitive;
this._oneEnumeration = _oneEnumeration;
this._manyEnumeration = _manyEnumeration;
this._controllingSide = _controllingSide;
this._composite = _composite;
this._inverseComposite = _inverseComposite;
this._label = _label;
this._oneToOne = _oneToOne;
this._oneToMany = _oneToMany;
this._manyToOne = _manyToOne;
this._manyToMany = _manyToMany;
this._upper = _upper;
this._lower = _lower;
this._inverseUpper = _inverseUpper;
this._qualified = _qualified;
this._inverseQualified = _inverseQualified;
this._ordered = _ordered;
this._inverseOrdered = _inverseOrdered;
this._unique = _unique;
this._inverseUnique = _inverseUnique;
this._derived = _derived;
this._navigability = _navigability;
this._propertyType = _propertyType;
this._json = _json;
this._changeListener = _changeListener;
}
static public String asJson() {
int count = 1;
StringBuilder sb = new StringBuilder();;
sb.append("{\"name\": \"Person\", ");
sb.append("\"qualifiedName\": \"testoclmodel::org::umlg::associationclass::Person\", ");
sb.append("\"uri\": \"TODO\", ");
sb.append("\"properties\": [");
for ( PersonRuntimePropertyEnum l : PersonRuntimePropertyEnum.values() ) {
sb.append(l.toJson());
if ( count < PersonRuntimePropertyEnum.values().length ) {
count++;
sb.append(",");
}
}
sb.append("]}");
return sb.toString();
}
static public PersonRuntimePropertyEnum fromInverseQualifiedName(String inverseQualifiedName) {
if ( testoclmodel.getInverseQualifiedName().equals(inverseQualifiedName) ) {
return testoclmodel;
}
if ( Friendship_knows.getInverseQualifiedName().equals(inverseQualifiedName) ) {
return Friendship_knows;
}
if ( knows.getInverseQualifiedName().equals(inverseQualifiedName) ) {
return knows;
}
if ( knowsFriendship.getInverseQualifiedName().equals(inverseQualifiedName) ) {
return knowsFriendship;
}
if ( knownByFriendship.getInverseQualifiedName().equals(inverseQualifiedName) ) {
return knownByFriendship;
}
if ( Job.getInverseQualifiedName().equals(inverseQualifiedName) ) {
return Job;
}
if ( company.getInverseQualifiedName().equals(inverseQualifiedName) ) {
return company;
}
if ( name.getInverseQualifiedName().equals(inverseQualifiedName) ) {
return name;
}
if ( Friendship_knownBy.getInverseQualifiedName().equals(inverseQualifiedName) ) {
return Friendship_knownBy;
}
if ( knownBy.getInverseQualifiedName().equals(inverseQualifiedName) ) {
return knownBy;
}
return null;
}
static public PersonRuntimePropertyEnum fromLabel(String _label) {
if ( testoclmodel.getLabel().equals(_label) ) {
return testoclmodel;
}
if ( Friendship_knows.getLabel().equals(_label) ) {
return Friendship_knows;
}
if ( knows.getLabel().equals(_label) ) {
return knows;
}
if ( knowsFriendship.getLabel().equals(_label) ) {
return knowsFriendship;
}
if ( knownByFriendship.getLabel().equals(_label) ) {
return knownByFriendship;
}
if ( Job.getLabel().equals(_label) ) {
return Job;
}
if ( company.getLabel().equals(_label) ) {
return company;
}
if ( name.getLabel().equals(_label) ) {
return name;
}
if ( Friendship_knownBy.getLabel().equals(_label) ) {
return Friendship_knownBy;
}
if ( knownBy.getLabel().equals(_label) ) {
return knownBy;
}
return null;
}
static public PersonRuntimePropertyEnum fromQualifiedName(String qualifiedName) {
if ( testoclmodel.getQualifiedName().equals(qualifiedName) ) {
return testoclmodel;
}
if ( Friendship_knows.getQualifiedName().equals(qualifiedName) ) {
return Friendship_knows;
}
if ( knows.getQualifiedName().equals(qualifiedName) ) {
return knows;
}
if ( knowsFriendship.getQualifiedName().equals(qualifiedName) ) {
return knowsFriendship;
}
if ( knownByFriendship.getQualifiedName().equals(qualifiedName) ) {
return knownByFriendship;
}
if ( Job.getQualifiedName().equals(qualifiedName) ) {
return Job;
}
if ( company.getQualifiedName().equals(qualifiedName) ) {
return company;
}
if ( name.getQualifiedName().equals(qualifiedName) ) {
return name;
}
if ( Friendship_knownBy.getQualifiedName().equals(qualifiedName) ) {
return Friendship_knownBy;
}
if ( knownBy.getQualifiedName().equals(qualifiedName) ) {
return knownBy;
}
return null;
}
public String getAssociationClassPropertyName() {
return this._associationClassPropertyName;
}
public DataTypeEnum getDataTypeEnum() {
return this.dataTypeEnum;
}
public String getInverseAssociationClassPropertyName() {
return this._inverseAssociationClassPropertyName;
}
public String getInverseName() {
return this._inverseName;
}
public String getInverseQualifiedName() {
return this._inverseQualifiedName;
}
public int getInverseUpper() {
return this._inverseUpper;
}
public String getJson() {
return this._json;
}
public String getLabel() {
return this._label;
}
public int getLower() {
return this._lower;
}
public String getPersistentName() {
return this._persistentName;
}
public Class getPropertyType() {
return this._propertyType;
}
public String getQualifiedName() {
return this._qualifiedName;
}
public Boolean getReadOnly() {
return this._readOnly;
}
public int getUpper() {
return this._upper;
}
public List getValidations() {
return this.validations;
}
public boolean isAssociationClassOne() {
return this._associationClassOne;
}
public boolean isAssociationClassProperty() {
return this._associationClassProperty;
}
public boolean isChangeListener() {
return this._changeListener;
}
public boolean isComposite() {
return this._composite;
}
public boolean isControllingSide() {
return this._controllingSide;
}
public boolean isDerived() {
return this._derived;
}
public boolean isInverseComposite() {
return this._inverseComposite;
}
public boolean isInverseOrdered() {
return this._inverseOrdered;
}
public boolean isInverseQualified() {
return this._inverseQualified;
}
public boolean isInverseUnique() {
return this._inverseUnique;
}
public boolean isManyEnumeration() {
return this._manyEnumeration;
}
public boolean isManyPrimitive() {
return this._manyPrimitive;
}
public boolean isManyToMany() {
return this._manyToMany;
}
public boolean isManyToOne() {
return this._manyToOne;
}
public boolean isMemberEndOfAssociationClass() {
return this._memberEndOfAssociationClass;
}
public boolean isNavigability() {
return this._navigability;
}
public boolean isOneEnumeration() {
return this._oneEnumeration;
}
public boolean isOnePrimitive() {
return this._onePrimitive;
}
public boolean isOnePrimitivePropertyOfAssociationClass() {
return this._onePrimitivePropertyOfAssociationClass;
}
public boolean isOneToMany() {
return this._oneToMany;
}
public boolean isOneToOne() {
return this._oneToOne;
}
public boolean isOrdered() {
return this._ordered;
}
public boolean isQualified() {
return this._qualified;
}
public boolean isUnique() {
return this._unique;
}
@Override
public boolean isValid(int elementCount) {
if ( isQualified() ) {
return elementCount >= getLower();
} else {
return (getUpper() == -1 || elementCount <= getUpper()) && elementCount >= getLower();
}
}
@Override
public String toJson() {
return getJson();
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy