All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.umlg.qualifiertest.QualifierB Maven / Gradle / Ivy

The newest version!
package org.umlg.qualifiertest;

import com.fasterxml.jackson.databind.ObjectMapper;

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.UUID;

import org.apache.commons.text.StringEscapeUtils;
import org.apache.tinkerpop.gremlin.structure.Vertex;
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.UmlgCollection;
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.PropertyTree;
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.UmlgNode;
import org.umlg.runtime.domain.UmlgRootNode;
import org.umlg.runtime.util.ObjectMapperFactory;
import org.umlg.runtime.util.UmlgFormatter;
import org.umlg.runtime.validation.UmlgConstraintViolation;
import org.umlg.runtime.validation.UmlgConstraintViolationException;
import org.umlg.runtime.validation.UmlgValidation;

public class QualifierB extends BaseUmlgCompositionNode implements UmlgRootNode, CompositionNode {
	static final public long serialVersionUID = 1L;
	private UmlgSet name1;
	private UmlgSet name2;
	private UmlgSet int1;
	private UmlgSet int2;
	private UmlgSet int3;
	private UmlgSet qualifierA;
	private UmlgSet qualifierAInt;
	private UmlgSet qualifierAMultipleInt;
	private String tmpId;	// tmpId is only used the umlg restlet gui. It is never persisted. Its value is generated by the gui.

	/**
	 * constructor for QualifierB
	 * 
	 * @param id 
	 */
	public QualifierB(Object id)  {
		super(id);
	}
	
	/**
	 * constructor for QualifierB
	 * 
	 * @param vertex 
	 */
	public QualifierB(Vertex vertex)  {
		super(vertex);
	}
	
	/**
	 * default constructor for QualifierB
	 */
	public QualifierB()  {
		this(true);
	}
	
	/**
	 * constructor for QualifierB
	 * 
	 * @param persistent 
	 */
	public QualifierB(Boolean persistent)  {
		super(persistent);
	}

	public void addToInt1(Integer int1) {
		if ( !this.int1.isEmpty() ) {
			throw new RuntimeException("Property is a one and already has value, first clear it before adding!");
		}
		if ( int1 != null ) {
			List violations = validateInt1(int1);
			if ( violations.isEmpty() ) {
				this.int1.add(int1);
			} else {
				throw new UmlgConstraintViolationException(violations);
			}
		}
	}
	
	public void addToInt1IgnoreInverse(Integer int1) {
		if ( !this.int1.isEmpty() ) {
			throw new RuntimeException("Property is a one and already has value, first clear it before adding!");
		}
		if ( int1 != null ) {
			List violations = validateInt1(int1);
			if ( violations.isEmpty() ) {
				this.int1.add(int1);
			} else {
				throw new UmlgConstraintViolationException(violations);
			}
		}
	}
	
	public void addToInt2(Integer int2) {
		if ( !this.int2.isEmpty() ) {
			throw new RuntimeException("Property is a one and already has value, first clear it before adding!");
		}
		if ( int2 != null ) {
			List violations = validateInt2(int2);
			if ( violations.isEmpty() ) {
				this.int2.add(int2);
			} else {
				throw new UmlgConstraintViolationException(violations);
			}
		}
	}
	
	public void addToInt2IgnoreInverse(Integer int2) {
		if ( !this.int2.isEmpty() ) {
			throw new RuntimeException("Property is a one and already has value, first clear it before adding!");
		}
		if ( int2 != null ) {
			List violations = validateInt2(int2);
			if ( violations.isEmpty() ) {
				this.int2.add(int2);
			} else {
				throw new UmlgConstraintViolationException(violations);
			}
		}
	}
	
	public void addToInt3(Integer int3) {
		if ( !this.int3.isEmpty() ) {
			throw new RuntimeException("Property is a one and already has value, first clear it before adding!");
		}
		if ( int3 != null ) {
			List violations = validateInt3(int3);
			if ( violations.isEmpty() ) {
				this.int3.add(int3);
			} else {
				throw new UmlgConstraintViolationException(violations);
			}
		}
	}
	
	public void addToInt3IgnoreInverse(Integer int3) {
		if ( !this.int3.isEmpty() ) {
			throw new RuntimeException("Property is a one and already has value, first clear it before adding!");
		}
		if ( int3 != null ) {
			List violations = validateInt3(int3);
			if ( violations.isEmpty() ) {
				this.int3.add(int3);
			} else {
				throw new UmlgConstraintViolationException(violations);
			}
		}
	}
	
	public void addToName1(String name1) {
		if ( !this.name1.isEmpty() ) {
			throw new RuntimeException("Property is a one and already has value, first clear it before adding!");
		}
		if ( name1 != null ) {
			List violations = validateName1(name1);
			if ( violations.isEmpty() ) {
				this.name1.add(name1);
			} else {
				throw new UmlgConstraintViolationException(violations);
			}
		}
	}
	
	public void addToName1IgnoreInverse(String name1) {
		if ( !this.name1.isEmpty() ) {
			throw new RuntimeException("Property is a one and already has value, first clear it before adding!");
		}
		if ( name1 != null ) {
			List violations = validateName1(name1);
			if ( violations.isEmpty() ) {
				this.name1.add(name1);
			} else {
				throw new UmlgConstraintViolationException(violations);
			}
		}
	}
	
	public void addToName2(String name2) {
		if ( !this.name2.isEmpty() ) {
			throw new RuntimeException("Property is a one and already has value, first clear it before adding!");
		}
		if ( name2 != null ) {
			List violations = validateName2(name2);
			if ( violations.isEmpty() ) {
				this.name2.add(name2);
			} else {
				throw new UmlgConstraintViolationException(violations);
			}
		}
	}
	
	public void addToName2IgnoreInverse(String name2) {
		if ( !this.name2.isEmpty() ) {
			throw new RuntimeException("Property is a one and already has value, first clear it before adding!");
		}
		if ( name2 != null ) {
			List violations = validateName2(name2);
			if ( violations.isEmpty() ) {
				this.name2.add(name2);
			} else {
				throw new UmlgConstraintViolationException(violations);
			}
		}
	}
	
	public void addToQualifierA(QualifierA qualifierA) {
		if ( qualifierA != null ) {
			if ( !this.qualifierA.isEmpty() ) {
				throw new RuntimeException("Property umlgtest::org::umlg::qualifiertest::A_qualifierA_qualifierB_1::qualifierA is a one and already has a value!");
			}
			this.qualifierA.add(qualifierA);
		}
	}
	
	public void addToQualifierAIgnoreInverse(QualifierA qualifierA) {
		if ( qualifierA != null ) {
			if ( !this.qualifierA.isEmpty() ) {
				throw new RuntimeException("Property umlgtest::org::umlg::qualifiertest::A_qualifierA_qualifierB_1::qualifierA is a one and already has a value!");
			}
			this.qualifierA.addIgnoreInverse(qualifierA);
		}
	}
	
	public void addToQualifierAInt(QualifierA qualifierAInt) {
		if ( qualifierAInt != null ) {
			if ( !this.qualifierAInt.isEmpty() ) {
				throw new RuntimeException("Property umlgtest::org::umlg::qualifiertest::A_qualifierA_qualifierB_2::qualifierAInt is a one and already has a value!");
			}
			this.qualifierAInt.add(qualifierAInt);
		}
	}
	
	public void addToQualifierAIntIgnoreInverse(QualifierA qualifierAInt) {
		if ( qualifierAInt != null ) {
			if ( !this.qualifierAInt.isEmpty() ) {
				throw new RuntimeException("Property umlgtest::org::umlg::qualifiertest::A_qualifierA_qualifierB_2::qualifierAInt is a one and already has a value!");
			}
			this.qualifierAInt.addIgnoreInverse(qualifierAInt);
		}
	}
	
	public void addToQualifierAMultipleInt(QualifierA qualifierAMultipleInt) {
		if ( qualifierAMultipleInt != null ) {
			if ( !this.qualifierAMultipleInt.isEmpty() ) {
				throw new RuntimeException("Property umlgtest::org::umlg::qualifiertest::A_qualifierA_qualifierB_3::qualifierAMultipleInt is a one and already has a value!");
			}
			this.qualifierAMultipleInt.add(qualifierAMultipleInt);
		}
	}
	
	public void addToQualifierAMultipleIntIgnoreInverse(QualifierA qualifierAMultipleInt) {
		if ( qualifierAMultipleInt != null ) {
			if ( !this.qualifierAMultipleInt.isEmpty() ) {
				throw new RuntimeException("Property umlgtest::org::umlg::qualifiertest::A_qualifierA_qualifierB_3::qualifierAMultipleInt is a one and already has a value!");
			}
			this.qualifierAMultipleInt.addIgnoreInverse(qualifierAMultipleInt);
		}
	}
	
	static public UmlgSet allInstances(Filter filter) {
		UmlgSet result = new UmlgMemorySet();
		result.addAll(UMLG.get().allInstances(QualifierB.class.getName(), filter));
		return result;
	}
	
	static public UmlgSet allInstances() {
		UmlgSet result = new UmlgMemorySet();
		result.addAll(UMLG.get().allInstances(QualifierB.class.getName()));
		return result;
	}
	
	@Override
	public List checkClassConstraints() {
		List result = new ArrayList();
		return result;
	}
	
	public void clearInt1() {
		this.int1.clear();
	}
	
	public void clearInt2() {
		this.int2.clear();
	}
	
	public void clearInt3() {
		this.int3.clear();
	}
	
	public void clearName1() {
		this.name1.clear();
	}
	
	public void clearName2() {
		this.name2.clear();
	}
	
	public void clearQualifierA() {
		this.qualifierA.clear();
	}
	
	public void clearQualifierAInt() {
		this.qualifierAInt.clear();
	}
	
	public void clearQualifierAMultipleInt() {
		this.qualifierAMultipleInt.clear();
	}
	
	@Override
	public void delete() {
		this.qualifierAMultipleInt.clear();
		this.qualifierAInt.clear();
		this.qualifierA.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) {
		Number int1AsNumber = (Number)propertyMap.get("int1");
		Number int2AsNumber = (Number)propertyMap.get("int2");
		Number int3AsNumber = (Number)propertyMap.get("int3");
		if ( propertyMap.containsKey("name2") ) {
			if ( propertyMap.get("name2") != null ) {
				String name2 = (String)propertyMap.get("name2");
				setName2(name2);
			} else {
				setName2(null);
			}
		}
		if ( propertyMap.containsKey("int1") ) {
			if ( propertyMap.get("int1") != null ) {
				Integer int1 = int1AsNumber != null ? int1AsNumber.intValue() : null;
				setInt1(int1);
			} else {
				setInt1(null);
			}
		}
		if ( propertyMap.containsKey("int2") ) {
			if ( propertyMap.get("int2") != null ) {
				Integer int2 = int2AsNumber != null ? int2AsNumber.intValue() : null;
				setInt2(int2);
			} else {
				setInt2(null);
			}
		}
		if ( propertyMap.containsKey("int3") ) {
			if ( propertyMap.get("int3") != null ) {
				Integer int3 = int3AsNumber != null ? int3AsNumber.intValue() : null;
				setInt3(int3);
			} else {
				setInt3(null);
			}
		}
		if ( propertyMap.containsKey("name1") ) {
			if ( propertyMap.get("name1") != null ) {
				String name1 = (String)propertyMap.get("name1");
				setName1(name1);
			} else {
				setName1(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;
			}
		}
	}
	
	@SuppressWarnings(	"unchecked")
	@Override
	public void fromJsonNonCompositeOne(Map propertyMap) {
		if ( propertyMap.containsKey("qualifierAMultipleInt") ) {
			if ( propertyMap.get("qualifierAMultipleInt") != null ) {
				Map qualifierAMultipleIntMap = (Map)propertyMap.get("qualifierAMultipleInt");
				if ( qualifierAMultipleIntMap.isEmpty() || qualifierAMultipleIntMap.get("id") == null ) {
					setQualifierAMultipleInt(null);
				} else {
					setQualifierAMultipleInt((QualifierA)UMLG.get().getEntity((qualifierAMultipleIntMap.get("id"))));
				}
			} else {
				setQualifierAMultipleInt(null);
			}
		}
		if ( propertyMap.containsKey("qualifierAInt") ) {
			if ( propertyMap.get("qualifierAInt") != null ) {
				Map qualifierAIntMap = (Map)propertyMap.get("qualifierAInt");
				if ( qualifierAIntMap.isEmpty() || qualifierAIntMap.get("id") == null ) {
					setQualifierAInt(null);
				} else {
					setQualifierAInt((QualifierA)UMLG.get().getEntity((qualifierAIntMap.get("id"))));
				}
			} else {
				setQualifierAInt(null);
			}
		}
		if ( propertyMap.containsKey("qualifierA") ) {
			if ( propertyMap.get("qualifierA") != null ) {
				Map qualifierAMap = (Map)propertyMap.get("qualifierA");
				if ( qualifierAMap.isEmpty() || qualifierAMap.get("id") == null ) {
					setQualifierA(null);
				} else {
					setQualifierA((QualifierA)UMLG.get().getEntity((qualifierAMap.get("id"))));
				}
			} else {
				setQualifierA(null);
			}
		}
	}
	
	@Override
	public void fromJsonNonCompositeRequiredMany(Map propertyMap) {
	}
	
	public Integer getInt1() {
		UmlgSet tmp = this.int1;
		if ( !tmp.isEmpty() ) {
			return tmp.iterator().next();
		} else {
			return null;
		}
	}
	
	public Integer getInt2() {
		UmlgSet tmp = this.int2;
		if ( !tmp.isEmpty() ) {
			return tmp.iterator().next();
		} else {
			return null;
		}
	}
	
	public Integer getInt3() {
		UmlgSet tmp = this.int3;
		if ( !tmp.isEmpty() ) {
			return tmp.iterator().next();
		} else {
			return null;
		}
	}
	
	@Override
	public String getMetaDataAsJson() {
		return QualifierB.QualifierBRuntimePropertyEnum.asJson();
	}
	
	public String getName1() {
		UmlgSet tmp = this.name1;
		if ( !tmp.isEmpty() ) {
			return tmp.iterator().next();
		} else {
			return null;
		}
	}
	
	public String getName2() {
		UmlgSet tmp = this.name2;
		if ( !tmp.isEmpty() ) {
			return tmp.iterator().next();
		} else {
			return null;
		}
	}
	
	@Override
	public UmlgNode getOwningObject() {
		return null;
	}
	
	@Override
	public String getQualifiedName() {
		return "umlgtest::org::umlg::qualifiertest::QualifierB";
	}
	
	public QualifierA getQualifierA() {
		UmlgSet tmp = this.qualifierA;
		if ( !tmp.isEmpty() ) {
			return tmp.iterator().next();
		} else {
			return null;
		}
	}
	
	public QualifierA getQualifierAInt() {
		UmlgSet tmp = this.qualifierAInt;
		if ( !tmp.isEmpty() ) {
			return tmp.iterator().next();
		} else {
			return null;
		}
	}
	
	public QualifierA getQualifierAMultipleInt() {
		UmlgSet tmp = this.qualifierAMultipleInt;
		if ( !tmp.isEmpty() ) {
			return tmp.iterator().next();
		} else {
			return null;
		}
	}
	
	/**
	 * 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();
		QualifierBRuntimePropertyEnum runtimeProperty;
		if ( !inverse ) {
			runtimeProperty = QualifierBRuntimePropertyEnum.fromQualifiedName(tumlRuntimeProperty.getQualifiedName());
		} else {
			runtimeProperty = QualifierBRuntimePropertyEnum.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 size 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;
		QualifierBRuntimePropertyEnum runtimeProperty;
		if ( !inverse ) {
			runtimeProperty = QualifierBRuntimePropertyEnum.fromQualifiedName(tumlRuntimeProperty.getQualifiedName());
		} else {
			runtimeProperty = QualifierBRuntimePropertyEnum.fromQualifiedName(tumlRuntimeProperty.getInverseQualifiedName());
		}
		if ( runtimeProperty != null && result == 0 ) {
			switch ( runtimeProperty ) {
				case qualifierAMultipleInt:
					result = qualifierAMultipleInt.size();
					break;
			
				case qualifierAInt:
					result = qualifierAInt.size();
					break;
			
				case name2:
					result = name2.size();
					break;
			
				case int1:
					result = int1.size();
					break;
			
				case int2:
					result = int2.size();
					break;
			
				case int3:
					result = int3.size();
					break;
			
				case name1:
					result = name1.size();
					break;
			
				case qualifierA:
					result = qualifierA.size();
					break;
			
				default:
					result = 0;
			}
		
		}
		return result;
	}
	
	@Override
	public String getUid() {
		String uid;
		if ( !this.vertex.property("uid").isPresent() && this.vertex.property("uid").value() != null ) {
			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 initDataTypeVariablesWithDefaultValues() {
	}
	
	public void initVariables() {
		setName1("");
		setName2("");
		setInt1(-1);
		setInt2(-1);
		setInt3(-1);
	}
	
	/**
	 * boolean properties' default values are initialized in the constructor via z_internalBooleanProperties
	 * 
	 * @param loaded 
	 */
	@Override
	public void initialiseProperties(boolean loaded) {
		this.qualifierAMultipleInt =  new UmlgSetImpl(this, PropertyTree.from(QualifierBRuntimePropertyEnum.qualifierAMultipleInt), loaded);
		this.qualifierAInt =  new UmlgSetImpl(this, PropertyTree.from(QualifierBRuntimePropertyEnum.qualifierAInt), loaded);
		this.name2 =  new UmlgSetImpl(this, PropertyTree.from(QualifierBRuntimePropertyEnum.name2), loaded);
		this.int1 =  new UmlgSetImpl(this, PropertyTree.from(QualifierBRuntimePropertyEnum.int1), loaded);
		this.int2 =  new UmlgSetImpl(this, PropertyTree.from(QualifierBRuntimePropertyEnum.int2), loaded);
		this.int3 =  new UmlgSetImpl(this, PropertyTree.from(QualifierBRuntimePropertyEnum.int3), loaded);
		this.name1 =  new UmlgSetImpl(this, PropertyTree.from(QualifierBRuntimePropertyEnum.name1), loaded);
		this.qualifierA =  new UmlgSetImpl(this, PropertyTree.from(QualifierBRuntimePropertyEnum.qualifierA), loaded);
	}
	
	@Override
	public void initialiseProperty(UmlgRuntimeProperty tumlRuntimeProperty, boolean inverse, boolean loaded) {
		QualifierBRuntimePropertyEnum runtimeProperty;
		if ( !inverse ) {
			runtimeProperty = (QualifierBRuntimePropertyEnum.fromQualifiedName(tumlRuntimeProperty.getQualifiedName()));
		} else {
			runtimeProperty = (QualifierBRuntimePropertyEnum.fromQualifiedName(tumlRuntimeProperty.getInverseQualifiedName()));
		}
		if ( runtimeProperty != null ) {
			switch ( runtimeProperty ) {
				case qualifierAMultipleInt:
					this.qualifierAMultipleInt =  new UmlgSetImpl(this, PropertyTree.from(QualifierBRuntimePropertyEnum.qualifierAMultipleInt), loaded);
					break;
			
				case qualifierAInt:
					this.qualifierAInt =  new UmlgSetImpl(this, PropertyTree.from(QualifierBRuntimePropertyEnum.qualifierAInt), loaded);
					break;
			
				case name2:
					this.name2 =  new UmlgSetImpl(this, PropertyTree.from(QualifierBRuntimePropertyEnum.name2), loaded);
					break;
			
				case int1:
					this.int1 =  new UmlgSetImpl(this, PropertyTree.from(QualifierBRuntimePropertyEnum.int1), loaded);
					break;
			
				case int2:
					this.int2 =  new UmlgSetImpl(this, PropertyTree.from(QualifierBRuntimePropertyEnum.int2), loaded);
					break;
			
				case int3:
					this.int3 =  new UmlgSetImpl(this, PropertyTree.from(QualifierBRuntimePropertyEnum.int3), loaded);
					break;
			
				case name1:
					this.name1 =  new UmlgSetImpl(this, PropertyTree.from(QualifierBRuntimePropertyEnum.name1), loaded);
					break;
			
				case qualifierA:
					this.qualifierA =  new UmlgSetImpl(this, PropertyTree.from(QualifierBRuntimePropertyEnum.qualifierA), loaded);
					break;
			
			}
		
		}
	}
	
	@Override
	public UmlgRuntimeProperty inverseAdder(UmlgRuntimeProperty tumlRuntimeProperty, boolean inverse, UmlgNode umlgNode) {
		QualifierBRuntimePropertyEnum runtimeProperty;
		if ( !inverse ) {
			runtimeProperty = (QualifierBRuntimePropertyEnum.fromQualifiedName(tumlRuntimeProperty.getQualifiedName()));
		} else {
			runtimeProperty = (QualifierBRuntimePropertyEnum.fromQualifiedName(tumlRuntimeProperty.getInverseQualifiedName()));
		}
		if ( runtimeProperty != null ) {
			switch ( runtimeProperty ) {
				case qualifierAMultipleInt:
					this.qualifierAMultipleInt.inverseAdder((QualifierA)umlgNode);
					break;
			
				case qualifierAInt:
					this.qualifierAInt.inverseAdder((QualifierA)umlgNode);
					break;
			
				case qualifierA:
					this.qualifierA.inverseAdder((QualifierA)umlgNode);
					break;
			
			}
			
			return runtimeProperty;
		} else {
			return null;
		}
	}
	
	@Override
	public boolean isTinkerRoot() {
		return true;
	}
	
	public UmlgSet lookupFor_qualifierBInt_qualifierAInt() {
		UmlgSet result = new UmlgMemorySet();
		Filter filter = new Filter() {
		    @Override
		    public boolean filter(QualifierA entity){
		        return !entity.getQualifierBInt().contains(QualifierB.this);
		    }
		};
		result.addAll(org.umlg.qualifiertest.QualifierA.allInstances(filter));
		return result;
	}
	
	public UmlgSet lookupFor_qualifierBMultipleInt_qualifierAMultipleInt() {
		UmlgSet result = new UmlgMemorySet();
		Filter filter = new Filter() {
		    @Override
		    public boolean filter(QualifierA entity){
		        return !entity.getQualifierBMultipleInt().contains(QualifierB.this);
		    }
		};
		result.addAll(org.umlg.qualifiertest.QualifierA.allInstances(filter));
		return result;
	}
	
	public UmlgSet lookupFor_qualifierB_qualifierA() {
		UmlgSet result = new UmlgMemorySet();
		Filter filter = new Filter() {
		    @Override
		    public boolean filter(QualifierA entity){
		        return !entity.getQualifierB().contains(QualifierB.this);
		    }
		};
		result.addAll(org.umlg.qualifiertest.QualifierA.allInstances(filter));
		return result;
	}
	
	public void removeFromInt1(Integer int1) {
		if ( int1 != null ) {
			this.int1.remove(int1);
		}
	}
	
	public void removeFromInt1(UmlgSet int1) {
		if ( !int1.isEmpty() ) {
			this.int1.removeAll(int1);
		}
	}
	
	public void removeFromInt2(Integer int2) {
		if ( int2 != null ) {
			this.int2.remove(int2);
		}
	}
	
	public void removeFromInt2(UmlgSet int2) {
		if ( !int2.isEmpty() ) {
			this.int2.removeAll(int2);
		}
	}
	
	public void removeFromInt3(Integer int3) {
		if ( int3 != null ) {
			this.int3.remove(int3);
		}
	}
	
	public void removeFromInt3(UmlgSet int3) {
		if ( !int3.isEmpty() ) {
			this.int3.removeAll(int3);
		}
	}
	
	public void removeFromName1(String name1) {
		if ( name1 != null ) {
			this.name1.remove(name1);
		}
	}
	
	public void removeFromName1(UmlgSet name1) {
		if ( !name1.isEmpty() ) {
			this.name1.removeAll(name1);
		}
	}
	
	public void removeFromName2(String name2) {
		if ( name2 != null ) {
			this.name2.remove(name2);
		}
	}
	
	public void removeFromName2(UmlgSet name2) {
		if ( !name2.isEmpty() ) {
			this.name2.removeAll(name2);
		}
	}
	
	public void removeFromQualifierA(QualifierA qualifierA) {
		if ( qualifierA != null ) {
			this.qualifierA.remove(qualifierA);
		}
	}
	
	public void removeFromQualifierA(UmlgSet qualifierA) {
		if ( !qualifierA.isEmpty() ) {
			this.qualifierA.removeAll(qualifierA);
		}
	}
	
	public void removeFromQualifierAInt(QualifierA qualifierAInt) {
		if ( qualifierAInt != null ) {
			this.qualifierAInt.remove(qualifierAInt);
		}
	}
	
	public void removeFromQualifierAInt(UmlgSet qualifierAInt) {
		if ( !qualifierAInt.isEmpty() ) {
			this.qualifierAInt.removeAll(qualifierAInt);
		}
	}
	
	public void removeFromQualifierAMultipleInt(QualifierA qualifierAMultipleInt) {
		if ( qualifierAMultipleInt != null ) {
			this.qualifierAMultipleInt.remove(qualifierAMultipleInt);
		}
	}
	
	public void removeFromQualifierAMultipleInt(UmlgSet qualifierAMultipleInt) {
		if ( !qualifierAMultipleInt.isEmpty() ) {
			this.qualifierAMultipleInt.removeAll(qualifierAMultipleInt);
		}
	}
	
	public void setInt1(Integer int1) {
		if ( int1 == null ) {
			clearInt1();
		} else {
			z_internalClearInt1();
		}
		addToInt1(int1);
	}
	
	public void setInt2(Integer int2) {
		if ( int2 == null ) {
			clearInt2();
		} else {
			z_internalClearInt2();
		}
		addToInt2(int2);
	}
	
	public void setInt3(Integer int3) {
		if ( int3 == null ) {
			clearInt3();
		} else {
			z_internalClearInt3();
		}
		addToInt3(int3);
	}
	
	public void setName1(String name1) {
		if ( name1 == null ) {
			clearName1();
		} else {
			z_internalClearName1();
		}
		addToName1(name1);
	}
	
	public void setName2(String name2) {
		if ( name2 == null ) {
			clearName2();
		} else {
			z_internalClearName2();
		}
		addToName2(name2);
	}
	
	public void setQualifierA(QualifierA qualifierA) {
		clearQualifierA();
		addToQualifierA(qualifierA);
	}
	
	public void setQualifierAInt(QualifierA qualifierAInt) {
		clearQualifierAInt();
		addToQualifierAInt(qualifierAInt);
	}
	
	public void setQualifierAMultipleInt(QualifierA qualifierAMultipleInt) {
		clearQualifierAMultipleInt();
		addToQualifierAMultipleInt(qualifierAMultipleInt);
	}
	
	/**
	 * 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() + "\", ");
		if ( getQualifierAMultipleInt() != null ) {
			if ( UmlgTmpIdManager.INSTANCE.get(getQualifierAMultipleInt().getId()) != null ) {
				sb.append("\"qualifierAMultipleInt\": " + "{\"id\": \"" + getQualifierAMultipleInt().getId() + "\", \"tmpId\": \"" + UmlgTmpIdManager.INSTANCE.get(getQualifierAMultipleInt().getId())  + "\",\"displayName\": \"" + getQualifierAMultipleInt().getName() + "\"}" + "");
			} else {
				sb.append("\"qualifierAMultipleInt\": " + "{\"id\": \"" + getQualifierAMultipleInt().getId() + "\", \"displayName\": \"" + getQualifierAMultipleInt().getName() + "\"}" + "");
			}
		} else {
			sb.append("\"qualifierAMultipleInt\": " + "{\"id\": " + null + ", \"displayName\": " + null + "}");
		}
		sb.append(", ");
		if ( getQualifierAInt() != null ) {
			if ( UmlgTmpIdManager.INSTANCE.get(getQualifierAInt().getId()) != null ) {
				sb.append("\"qualifierAInt\": " + "{\"id\": \"" + getQualifierAInt().getId() + "\", \"tmpId\": \"" + UmlgTmpIdManager.INSTANCE.get(getQualifierAInt().getId())  + "\",\"displayName\": \"" + getQualifierAInt().getName() + "\"}" + "");
			} else {
				sb.append("\"qualifierAInt\": " + "{\"id\": \"" + getQualifierAInt().getId() + "\", \"displayName\": \"" + getQualifierAInt().getName() + "\"}" + "");
			}
		} else {
			sb.append("\"qualifierAInt\": " + "{\"id\": " + null + ", \"displayName\": " + null + "}");
		}
		sb.append(", ");
		sb.append("\"name2\": " + (getName2() != null ? "\"" + StringEscapeUtils.escapeJson(getName2()) + "\"" : null ));
		sb.append(", ");
		sb.append("\"int1\": " + getInt1() + "");
		sb.append(", ");
		sb.append("\"int2\": " + getInt2() + "");
		sb.append(", ");
		sb.append("\"int3\": " + getInt3() + "");
		sb.append(", ");
		sb.append("\"name1\": " + (getName1() != null ? "\"" + StringEscapeUtils.escapeJson(getName1()) + "\"" : null ));
		sb.append(", ");
		if ( getQualifierA() != null ) {
			if ( UmlgTmpIdManager.INSTANCE.get(getQualifierA().getId()) != null ) {
				sb.append("\"qualifierA\": " + "{\"id\": \"" + getQualifierA().getId() + "\", \"tmpId\": \"" + UmlgTmpIdManager.INSTANCE.get(getQualifierA().getId())  + "\",\"displayName\": \"" + getQualifierA().getName() + "\"}" + "");
			} else {
				sb.append("\"qualifierA\": " + "{\"id\": \"" + getQualifierA().getId() + "\", \"displayName\": \"" + getQualifierA().getName() + "\"}" + "");
			}
		} else {
			sb.append("\"qualifierA\": " + "{\"id\": " + null + ", \"displayName\": " + 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() + "\", ");
		if ( getQualifierAMultipleInt() != null ) {
			if ( UmlgTmpIdManager.INSTANCE.get(getQualifierAMultipleInt().getId()) != null ) {
				sb.append("\"qualifierAMultipleInt\": " + "{\"id\": \"" + getQualifierAMultipleInt().getId() + "\", \"tmpId\": \"" + UmlgTmpIdManager.INSTANCE.get(getQualifierAMultipleInt().getId())  + "\",\"displayName\": \"" + getQualifierAMultipleInt().getName() + "\"}" + "");
			} else {
				sb.append("\"qualifierAMultipleInt\": " + "{\"id\": \"" + getQualifierAMultipleInt().getId() + "\", \"displayName\": \"" + getQualifierAMultipleInt().getName() + "\"}" + "");
			}
		} else {
			sb.append("\"qualifierAMultipleInt\": " + "{\"id\": " + null + ", \"displayName\": " + null + "}");
		}
		sb.append(", ");
		if ( getQualifierAInt() != null ) {
			if ( UmlgTmpIdManager.INSTANCE.get(getQualifierAInt().getId()) != null ) {
				sb.append("\"qualifierAInt\": " + "{\"id\": \"" + getQualifierAInt().getId() + "\", \"tmpId\": \"" + UmlgTmpIdManager.INSTANCE.get(getQualifierAInt().getId())  + "\",\"displayName\": \"" + getQualifierAInt().getName() + "\"}" + "");
			} else {
				sb.append("\"qualifierAInt\": " + "{\"id\": \"" + getQualifierAInt().getId() + "\", \"displayName\": \"" + getQualifierAInt().getName() + "\"}" + "");
			}
		} else {
			sb.append("\"qualifierAInt\": " + "{\"id\": " + null + ", \"displayName\": " + null + "}");
		}
		sb.append(", ");
		sb.append("\"name2\": " + (getName2() != null ? "\"" + StringEscapeUtils.escapeJson(getName2()) + "\"" : null ));
		sb.append(", ");
		sb.append("\"int1\": " + getInt1() + "");
		sb.append(", ");
		sb.append("\"int2\": " + getInt2() + "");
		sb.append(", ");
		sb.append("\"int3\": " + getInt3() + "");
		sb.append(", ");
		sb.append("\"name1\": " + (getName1() != null ? "\"" + StringEscapeUtils.escapeJson(getName1()) + "\"" : null ));
		sb.append(", ");
		if ( getQualifierA() != null ) {
			if ( UmlgTmpIdManager.INSTANCE.get(getQualifierA().getId()) != null ) {
				sb.append("\"qualifierA\": " + "{\"id\": \"" + getQualifierA().getId() + "\", \"tmpId\": \"" + UmlgTmpIdManager.INSTANCE.get(getQualifierA().getId())  + "\",\"displayName\": \"" + getQualifierA().getName() + "\"}" + "");
			} else {
				sb.append("\"qualifierA\": " + "{\"id\": \"" + getQualifierA().getId() + "\", \"displayName\": \"" + getQualifierA().getName() + "\"}" + "");
			}
		} else {
			sb.append("\"qualifierA\": " + "{\"id\": " + null + ", \"displayName\": " + 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);
	}
	
	public List validateInt1(Integer int1) {
		List result = new ArrayList();
		return result;
	}
	
	public List validateInt2(Integer int2) {
		List result = new ArrayList();
		return result;
	}
	
	public List validateInt3(Integer int3) {
		List result = new ArrayList();
		return result;
	}
	
	@Override
	public List validateMultiplicities() {
		List result = new ArrayList();
		return result;
	}
	
	public List validateName1(String name1) {
		List result = new ArrayList();
		return result;
	}
	
	public List validateName2(String name2) {
		List result = new ArrayList();
		return result;
	}
	
	@Override
	public void z_internalAddPersistentValueToCollection(UmlgRuntimeProperty umlgRuntimeProperty, Object umlgNode) {
		QualifierBRuntimePropertyEnum runtimeProperty;
		runtimeProperty = (QualifierBRuntimePropertyEnum.fromQualifiedName(umlgRuntimeProperty.getQualifiedName()));
		if ( runtimeProperty != null ) {
			switch ( runtimeProperty ) {
				case qualifierAMultipleInt:
					this.qualifierAMultipleInt.z_internalAdder((QualifierA)umlgNode);
					break;
			
				case qualifierAInt:
					this.qualifierAInt.z_internalAdder((QualifierA)umlgNode);
					break;
			
				case name2:
					this.name2.z_internalAdder((String)umlgNode);
					break;
			
				case int1:
					this.int1.z_internalAdder((int)umlgNode);
					break;
			
				case int2:
					this.int2.z_internalAdder((int)umlgNode);
					break;
			
				case int3:
					this.int3.z_internalAdder((int)umlgNode);
					break;
			
				case name1:
					this.name1.z_internalAdder((String)umlgNode);
					break;
			
				case qualifierA:
					this.qualifierA.z_internalAdder((QualifierA)umlgNode);
					break;
			
			}
		
		}
	}
	
	@Override
	public void z_internalAddToCollection(UmlgRuntimeProperty umlgRuntimeProperty, Object umlgNode) {
		QualifierBRuntimePropertyEnum runtimeProperty;
		runtimeProperty = (QualifierBRuntimePropertyEnum.fromQualifiedName(umlgRuntimeProperty.getQualifiedName()));
		if ( runtimeProperty != null ) {
			switch ( runtimeProperty ) {
				case qualifierAMultipleInt:
					this.qualifierAMultipleInt.z_internalAdder((QualifierA)umlgNode);
					break;
			
				case qualifierAInt:
					this.qualifierAInt.z_internalAdder((QualifierA)umlgNode);
					break;
			
				case name2:
					this.name2.z_internalAdder((String)umlgNode);
					break;
			
				case int1:
					this.int1.z_internalAdder((Integer)umlgNode);
					break;
			
				case int2:
					this.int2.z_internalAdder((Integer)umlgNode);
					break;
			
				case int3:
					this.int3.z_internalAdder((Integer)umlgNode);
					break;
			
				case name1:
					this.name1.z_internalAdder((String)umlgNode);
					break;
			
				case qualifierA:
					this.qualifierA.z_internalAdder((QualifierA)umlgNode);
					break;
			
			}
		
		}
	}
	
	@Override
	public Set z_internalBooleanProperties() {
		Set result = new HashSet();
		return result;
	}
	
	public void z_internalClearInt1() {
		this.int1.z_internalClear();
	}
	
	public void z_internalClearInt2() {
		this.int2.z_internalClear();
	}
	
	public void z_internalClearInt3() {
		this.int3.z_internalClear();
	}
	
	public void z_internalClearName1() {
		this.name1.z_internalClear();
	}
	
	public void z_internalClearName2() {
		this.name2.z_internalClear();
	}
	
	public void z_internalClearQualifierA() {
		this.qualifierA.z_internalClear();
	}
	
	public void z_internalClearQualifierAInt() {
		this.qualifierAInt.z_internalClear();
	}
	
	public void z_internalClearQualifierAMultipleInt() {
		this.qualifierAMultipleInt.z_internalClear();
	}
	
	@Override
	public Set z_internalDataTypeProperties() {
		Set result = new HashSet();
		result.add(QualifierBRuntimePropertyEnum.name2);
		result.add(QualifierBRuntimePropertyEnum.int1);
		result.add(QualifierBRuntimePropertyEnum.int2);
		result.add(QualifierBRuntimePropertyEnum.int3);
		result.add(QualifierBRuntimePropertyEnum.name1);
		return result;
	}
	
	@Override
	public Map z_internalDataTypePropertiesWithDefaultValues() {
		Map result = new HashMap();
		return result;
	}
	
	@Override
	public UmlgCollection z_internalGetCollectionFor(UmlgRuntimeProperty tumlRuntimeProperty, boolean inverse) {
		UmlgCollection result = null;
		if ( result == null ) {
			QualifierBRuntimePropertyEnum runtimeProperty;
			if ( !inverse ) {
				runtimeProperty = (QualifierBRuntimePropertyEnum.fromQualifiedName(tumlRuntimeProperty.getQualifiedName()));
			} else {
				runtimeProperty = (QualifierBRuntimePropertyEnum.fromQualifiedName(tumlRuntimeProperty.getInverseQualifiedName()));
			}
			if ( runtimeProperty != null ) {
				switch ( runtimeProperty ) {
					case qualifierAMultipleInt:
						result = this.qualifierAMultipleInt;
						break;
				
					case qualifierAInt:
						result = this.qualifierAInt;
						break;
				
					case name2:
						result = this.name2;
						break;
				
					case int1:
						result = this.int1;
						break;
				
					case int2:
						result = this.int2;
						break;
				
					case int3:
						result = this.int3;
						break;
				
					case name1:
						result = this.name1;
						break;
				
					case qualifierA:
						result = this.qualifierA;
						break;
				
				}
			
			}
		}
		return result;
	}
	
	@Override
	public UmlgRuntimeProperty z_internalInverseAdder(UmlgRuntimeProperty tumlRuntimeProperty, boolean inverse, UmlgNode umlgNode) {
		QualifierBRuntimePropertyEnum runtimeProperty;
		if ( !inverse ) {
			runtimeProperty = (QualifierBRuntimePropertyEnum.fromQualifiedName(tumlRuntimeProperty.getQualifiedName()));
		} else {
			runtimeProperty = (QualifierBRuntimePropertyEnum.fromQualifiedName(tumlRuntimeProperty.getInverseQualifiedName()));
		}
		if ( runtimeProperty != null ) {
			switch ( runtimeProperty ) {
				case qualifierAMultipleInt:
					this.qualifierAMultipleInt.z_internalAdder((QualifierA)umlgNode);
					break;
			
				case qualifierAInt:
					this.qualifierAInt.z_internalAdder((QualifierA)umlgNode);
					break;
			
				case qualifierA:
					this.qualifierA.z_internalAdder((QualifierA)umlgNode);
					break;
			
			}
			
			return runtimeProperty;
		} else {
			return null;
		}
	}
	
	@Override
	public void z_internalMarkCollectionLoaded(UmlgRuntimeProperty umlgRuntimeProperty, boolean loaded) {
		QualifierBRuntimePropertyEnum runtimeProperty;
		runtimeProperty = (QualifierBRuntimePropertyEnum.fromQualifiedName(umlgRuntimeProperty.getQualifiedName()));
		if ( runtimeProperty != null ) {
			switch ( runtimeProperty ) {
				case qualifierAMultipleInt:
					this.qualifierAMultipleInt.setLoaded(loaded);
					break;
			
				case qualifierAInt:
					this.qualifierAInt.setLoaded(loaded);
					break;
			
				case name2:
					this.name2.setLoaded(loaded);
					break;
			
				case int1:
					this.int1.setLoaded(loaded);
					break;
			
				case int2:
					this.int2.setLoaded(loaded);
					break;
			
				case int3:
					this.int3.setLoaded(loaded);
					break;
			
				case name1:
					this.name1.setLoaded(loaded);
					break;
			
				case qualifierA:
					this.qualifierA.setLoaded(loaded);
					break;
			
			}
		
		}
	}

	static public enum QualifierBRuntimePropertyEnum implements UmlgRuntimeProperty {
		qualifierAMultipleInt(/* qualifiedName */ "umlgtest::org::umlg::qualifiertest::A_qualifierA_qualifierB_3::qualifierAMultipleInt",/* persistentName */ "qualifierAMultipleInt",/* inverseName */ "qualifierBMultipleInt",/* inverseQualifiedName */ "umlgtest::org::umlg::qualifiertest::QualifierA::qualifierBMultipleInt",/* 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 */ false,/* isComposite */ false,/* isInverseComposite */ false,/* label */ UmlgLabelConverterFactory.getUmlgLabelConverter().convert("A_qualifierA_qualifierB_3"),/* isOneToOne */ false,/* isOneToMany */ false,/* isManyToOne */ true,/* isManyToMany */ false,/* upper */ 1,/* lower */ 0,/* inverseUpper */ 1,/* isQualified */ false,/* isInverseQualified */ true,/* isOrdered */ false,/* isInverseOrdered */ false,/* isUnique */ true,/* isInverseUnique */ true,/* isDerived */ false,/* isNavigable */ true,/* propertyType */ QualifierA.class,/* json */ "{\"name\": \"qualifierAMultipleInt\", \"associationClassOne\": false, \"memberEndOfAssociationClass\": false, \"associationClassPropertyName\": null, \"inverseAssociationClassPropertyName\": null, \"associationClassProperty\": false, \"onePrimitivePropertyOfAssociationClass\": false, \"onePrimitive\": false, \"readOnly\": false, \"dataTypeEnum\": null, \"validations\": null, \"qualifiedName\": \"umlgtest::org::umlg::qualifiertest::A_qualifierA_qualifierB_3::qualifierAMultipleInt\", \"persistentName\": \"qualifierAMultipleInt\", \"inverseName\": \"qualifierBMultipleInt\", \"inverseQualifiedName\": \"umlgtest::org::umlg::qualifiertest::QualifierA::qualifierBMultipleInt\", \"manyPrimitive\": false, \"oneEnumeration\": false, \"manyEnumeration\": false, \"controllingSide\": false, \"composite\": false, \"inverseComposite\": false, \"oneToOne\": false, \"oneToMany\": false, \"manyToOne\": true, \"manyToMany\": false, \"upper\": 1, \"lower\": 0, \"inverseUpper\": 1, \"label\": \"A_qualifierA_qualifierB_3\", \"qualified\": false, \"inverseQualified\": true, \"ordered\": false, \"inverseOrdered\": false, \"unique\": true, \"inverseUnique\": true, \"derived\": false, \"navigable\": true}",/* isChangeListenerAttribute */ false),
		qualifierAInt(/* qualifiedName */ "umlgtest::org::umlg::qualifiertest::A_qualifierA_qualifierB_2::qualifierAInt",/* persistentName */ "qualifierAInt",/* inverseName */ "qualifierBInt",/* inverseQualifiedName */ "umlgtest::org::umlg::qualifiertest::QualifierA::qualifierBInt",/* 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 */ false,/* isComposite */ false,/* isInverseComposite */ false,/* label */ UmlgLabelConverterFactory.getUmlgLabelConverter().convert("A_qualifierA_qualifierB_2"),/* isOneToOne */ false,/* isOneToMany */ false,/* isManyToOne */ true,/* isManyToMany */ false,/* upper */ 1,/* lower */ 0,/* inverseUpper */ 1,/* isQualified */ false,/* isInverseQualified */ true,/* isOrdered */ false,/* isInverseOrdered */ false,/* isUnique */ true,/* isInverseUnique */ true,/* isDerived */ false,/* isNavigable */ true,/* propertyType */ QualifierA.class,/* json */ "{\"name\": \"qualifierAInt\", \"associationClassOne\": false, \"memberEndOfAssociationClass\": false, \"associationClassPropertyName\": null, \"inverseAssociationClassPropertyName\": null, \"associationClassProperty\": false, \"onePrimitivePropertyOfAssociationClass\": false, \"onePrimitive\": false, \"readOnly\": false, \"dataTypeEnum\": null, \"validations\": null, \"qualifiedName\": \"umlgtest::org::umlg::qualifiertest::A_qualifierA_qualifierB_2::qualifierAInt\", \"persistentName\": \"qualifierAInt\", \"inverseName\": \"qualifierBInt\", \"inverseQualifiedName\": \"umlgtest::org::umlg::qualifiertest::QualifierA::qualifierBInt\", \"manyPrimitive\": false, \"oneEnumeration\": false, \"manyEnumeration\": false, \"controllingSide\": false, \"composite\": false, \"inverseComposite\": false, \"oneToOne\": false, \"oneToMany\": false, \"manyToOne\": true, \"manyToMany\": false, \"upper\": 1, \"lower\": 0, \"inverseUpper\": 1, \"label\": \"A_qualifierA_qualifierB_2\", \"qualified\": false, \"inverseQualified\": true, \"ordered\": false, \"inverseOrdered\": false, \"unique\": true, \"inverseUnique\": true, \"derived\": false, \"navigable\": true}",/* isChangeListenerAttribute */ false),
		name2(/* qualifiedName */ "umlgtest::org::umlg::qualifiertest::QualifierB::name2",/* persistentName */ "name2",/* inverseName */ "inverseOf::name2",/* inverseQualifiedName */ "inverseOf::umlgtest::org::umlg::qualifiertest::QualifierB::name2",/* 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("name2"),/* isOneToOne */ false,/* isOneToMany */ false,/* isManyToOne */ true,/* isManyToMany */ false,/* upper */ 1,/* lower */ 0,/* inverseUpper */ 1,/* isQualified */ false,/* isInverseQualified */ false,/* isOrdered */ false,/* isInverseOrdered */ false,/* isUnique */ true,/* isInverseUnique */ false,/* isDerived */ false,/* isNavigable */ true,/* propertyType */ String.class,/* json */ "{\"name\": \"name2\", \"associationClassOne\": false, \"memberEndOfAssociationClass\": false, \"associationClassPropertyName\": null, \"inverseAssociationClassPropertyName\": null, \"associationClassProperty\": false, \"onePrimitivePropertyOfAssociationClass\": false, \"onePrimitive\": true, \"readOnly\": false, \"dataTypeEnum\": null, \"validations\": null, \"qualifiedName\": \"umlgtest::org::umlg::qualifiertest::QualifierB::name2\", \"persistentName\": \"name2\", \"inverseName\": \"inverseOf::name2\", \"inverseQualifiedName\": \"inverseOf::umlgtest::org::umlg::qualifiertest::QualifierB::name2\", \"manyPrimitive\": false, \"oneEnumeration\": false, \"manyEnumeration\": false, \"controllingSide\": true, \"composite\": false, \"inverseComposite\": false, \"oneToOne\": false, \"oneToMany\": false, \"manyToOne\": true, \"manyToMany\": false, \"upper\": 1, \"lower\": 0, \"inverseUpper\": 1, \"label\": \"name2\", \"qualified\": false, \"inverseQualified\": false, \"ordered\": false, \"inverseOrdered\": false, \"unique\": true, \"inverseUnique\": false, \"derived\": false, \"navigable\": true}",/* isChangeListenerAttribute */ false),
		int1(/* qualifiedName */ "umlgtest::org::umlg::qualifiertest::QualifierB::int1",/* persistentName */ "int1",/* inverseName */ "inverseOf::int1",/* inverseQualifiedName */ "inverseOf::umlgtest::org::umlg::qualifiertest::QualifierB::int1",/* 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("int1"),/* isOneToOne */ false,/* isOneToMany */ false,/* isManyToOne */ true,/* isManyToMany */ false,/* upper */ 1,/* lower */ 0,/* inverseUpper */ 1,/* isQualified */ false,/* isInverseQualified */ false,/* isOrdered */ false,/* isInverseOrdered */ false,/* isUnique */ true,/* isInverseUnique */ false,/* isDerived */ false,/* isNavigable */ true,/* propertyType */ Integer.class,/* json */ "{\"name\": \"int1\", \"associationClassOne\": false, \"memberEndOfAssociationClass\": false, \"associationClassPropertyName\": null, \"inverseAssociationClassPropertyName\": null, \"associationClassProperty\": false, \"onePrimitivePropertyOfAssociationClass\": false, \"onePrimitive\": true, \"readOnly\": false, \"dataTypeEnum\": null, \"validations\": null, \"qualifiedName\": \"umlgtest::org::umlg::qualifiertest::QualifierB::int1\", \"persistentName\": \"int1\", \"inverseName\": \"inverseOf::int1\", \"inverseQualifiedName\": \"inverseOf::umlgtest::org::umlg::qualifiertest::QualifierB::int1\", \"manyPrimitive\": false, \"oneEnumeration\": false, \"manyEnumeration\": false, \"controllingSide\": true, \"composite\": false, \"inverseComposite\": false, \"oneToOne\": false, \"oneToMany\": false, \"manyToOne\": true, \"manyToMany\": false, \"upper\": 1, \"lower\": 0, \"inverseUpper\": 1, \"label\": \"int1\", \"qualified\": false, \"inverseQualified\": false, \"ordered\": false, \"inverseOrdered\": false, \"unique\": true, \"inverseUnique\": false, \"derived\": false, \"navigable\": true}",/* isChangeListenerAttribute */ false),
		int2(/* qualifiedName */ "umlgtest::org::umlg::qualifiertest::QualifierB::int2",/* persistentName */ "int2",/* inverseName */ "inverseOf::int2",/* inverseQualifiedName */ "inverseOf::umlgtest::org::umlg::qualifiertest::QualifierB::int2",/* 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("int2"),/* isOneToOne */ false,/* isOneToMany */ false,/* isManyToOne */ true,/* isManyToMany */ false,/* upper */ 1,/* lower */ 0,/* inverseUpper */ 1,/* isQualified */ false,/* isInverseQualified */ false,/* isOrdered */ false,/* isInverseOrdered */ false,/* isUnique */ true,/* isInverseUnique */ false,/* isDerived */ false,/* isNavigable */ true,/* propertyType */ Integer.class,/* json */ "{\"name\": \"int2\", \"associationClassOne\": false, \"memberEndOfAssociationClass\": false, \"associationClassPropertyName\": null, \"inverseAssociationClassPropertyName\": null, \"associationClassProperty\": false, \"onePrimitivePropertyOfAssociationClass\": false, \"onePrimitive\": true, \"readOnly\": false, \"dataTypeEnum\": null, \"validations\": null, \"qualifiedName\": \"umlgtest::org::umlg::qualifiertest::QualifierB::int2\", \"persistentName\": \"int2\", \"inverseName\": \"inverseOf::int2\", \"inverseQualifiedName\": \"inverseOf::umlgtest::org::umlg::qualifiertest::QualifierB::int2\", \"manyPrimitive\": false, \"oneEnumeration\": false, \"manyEnumeration\": false, \"controllingSide\": true, \"composite\": false, \"inverseComposite\": false, \"oneToOne\": false, \"oneToMany\": false, \"manyToOne\": true, \"manyToMany\": false, \"upper\": 1, \"lower\": 0, \"inverseUpper\": 1, \"label\": \"int2\", \"qualified\": false, \"inverseQualified\": false, \"ordered\": false, \"inverseOrdered\": false, \"unique\": true, \"inverseUnique\": false, \"derived\": false, \"navigable\": true}",/* isChangeListenerAttribute */ false),
		int3(/* qualifiedName */ "umlgtest::org::umlg::qualifiertest::QualifierB::int3",/* persistentName */ "int3",/* inverseName */ "inverseOf::int3",/* inverseQualifiedName */ "inverseOf::umlgtest::org::umlg::qualifiertest::QualifierB::int3",/* 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("int3"),/* isOneToOne */ false,/* isOneToMany */ false,/* isManyToOne */ true,/* isManyToMany */ false,/* upper */ 1,/* lower */ 0,/* inverseUpper */ 1,/* isQualified */ false,/* isInverseQualified */ false,/* isOrdered */ false,/* isInverseOrdered */ false,/* isUnique */ true,/* isInverseUnique */ false,/* isDerived */ false,/* isNavigable */ true,/* propertyType */ Integer.class,/* json */ "{\"name\": \"int3\", \"associationClassOne\": false, \"memberEndOfAssociationClass\": false, \"associationClassPropertyName\": null, \"inverseAssociationClassPropertyName\": null, \"associationClassProperty\": false, \"onePrimitivePropertyOfAssociationClass\": false, \"onePrimitive\": true, \"readOnly\": false, \"dataTypeEnum\": null, \"validations\": null, \"qualifiedName\": \"umlgtest::org::umlg::qualifiertest::QualifierB::int3\", \"persistentName\": \"int3\", \"inverseName\": \"inverseOf::int3\", \"inverseQualifiedName\": \"inverseOf::umlgtest::org::umlg::qualifiertest::QualifierB::int3\", \"manyPrimitive\": false, \"oneEnumeration\": false, \"manyEnumeration\": false, \"controllingSide\": true, \"composite\": false, \"inverseComposite\": false, \"oneToOne\": false, \"oneToMany\": false, \"manyToOne\": true, \"manyToMany\": false, \"upper\": 1, \"lower\": 0, \"inverseUpper\": 1, \"label\": \"int3\", \"qualified\": false, \"inverseQualified\": false, \"ordered\": false, \"inverseOrdered\": false, \"unique\": true, \"inverseUnique\": false, \"derived\": false, \"navigable\": true}",/* isChangeListenerAttribute */ false),
		name1(/* qualifiedName */ "umlgtest::org::umlg::qualifiertest::QualifierB::name1",/* persistentName */ "name1",/* inverseName */ "inverseOf::name1",/* inverseQualifiedName */ "inverseOf::umlgtest::org::umlg::qualifiertest::QualifierB::name1",/* 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("name1"),/* isOneToOne */ false,/* isOneToMany */ false,/* isManyToOne */ true,/* isManyToMany */ false,/* upper */ 1,/* lower */ 0,/* inverseUpper */ 1,/* isQualified */ false,/* isInverseQualified */ false,/* isOrdered */ false,/* isInverseOrdered */ false,/* isUnique */ true,/* isInverseUnique */ false,/* isDerived */ false,/* isNavigable */ true,/* propertyType */ String.class,/* json */ "{\"name\": \"name1\", \"associationClassOne\": false, \"memberEndOfAssociationClass\": false, \"associationClassPropertyName\": null, \"inverseAssociationClassPropertyName\": null, \"associationClassProperty\": false, \"onePrimitivePropertyOfAssociationClass\": false, \"onePrimitive\": true, \"readOnly\": false, \"dataTypeEnum\": null, \"validations\": null, \"qualifiedName\": \"umlgtest::org::umlg::qualifiertest::QualifierB::name1\", \"persistentName\": \"name1\", \"inverseName\": \"inverseOf::name1\", \"inverseQualifiedName\": \"inverseOf::umlgtest::org::umlg::qualifiertest::QualifierB::name1\", \"manyPrimitive\": false, \"oneEnumeration\": false, \"manyEnumeration\": false, \"controllingSide\": true, \"composite\": false, \"inverseComposite\": false, \"oneToOne\": false, \"oneToMany\": false, \"manyToOne\": true, \"manyToMany\": false, \"upper\": 1, \"lower\": 0, \"inverseUpper\": 1, \"label\": \"name1\", \"qualified\": false, \"inverseQualified\": false, \"ordered\": false, \"inverseOrdered\": false, \"unique\": true, \"inverseUnique\": false, \"derived\": false, \"navigable\": true}",/* isChangeListenerAttribute */ false),
		qualifierA(/* qualifiedName */ "umlgtest::org::umlg::qualifiertest::A_qualifierA_qualifierB_1::qualifierA",/* persistentName */ "qualifierA",/* inverseName */ "qualifierB",/* inverseQualifiedName */ "umlgtest::org::umlg::qualifiertest::QualifierA::qualifierB",/* 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 */ false,/* isComposite */ false,/* isInverseComposite */ false,/* label */ UmlgLabelConverterFactory.getUmlgLabelConverter().convert("A_qualifierA_qualifierB_1"),/* isOneToOne */ false,/* isOneToMany */ false,/* isManyToOne */ true,/* isManyToMany */ false,/* upper */ 1,/* lower */ 0,/* inverseUpper */ 1,/* isQualified */ false,/* isInverseQualified */ true,/* isOrdered */ false,/* isInverseOrdered */ false,/* isUnique */ true,/* isInverseUnique */ true,/* isDerived */ false,/* isNavigable */ true,/* propertyType */ QualifierA.class,/* json */ "{\"name\": \"qualifierA\", \"associationClassOne\": false, \"memberEndOfAssociationClass\": false, \"associationClassPropertyName\": null, \"inverseAssociationClassPropertyName\": null, \"associationClassProperty\": false, \"onePrimitivePropertyOfAssociationClass\": false, \"onePrimitive\": false, \"readOnly\": false, \"dataTypeEnum\": null, \"validations\": null, \"qualifiedName\": \"umlgtest::org::umlg::qualifiertest::A_qualifierA_qualifierB_1::qualifierA\", \"persistentName\": \"qualifierA\", \"inverseName\": \"qualifierB\", \"inverseQualifiedName\": \"umlgtest::org::umlg::qualifiertest::QualifierA::qualifierB\", \"manyPrimitive\": false, \"oneEnumeration\": false, \"manyEnumeration\": false, \"controllingSide\": false, \"composite\": false, \"inverseComposite\": false, \"oneToOne\": false, \"oneToMany\": false, \"manyToOne\": true, \"manyToMany\": false, \"upper\": 1, \"lower\": 0, \"inverseUpper\": 1, \"label\": \"A_qualifierA_qualifierB_1\", \"qualified\": false, \"inverseQualified\": true, \"ordered\": false, \"inverseOrdered\": false, \"unique\": true, \"inverseUnique\": true, \"derived\": false, \"navigable\": true}",/* isChangeListenerAttribute */ false),
		umlgtest(/* qualifiedName */ "umlgtest",/* persistentName */ "umlgtest",/* inverseName */ "inverseOfumlgtest",/* inverseQualifiedName */ "inverseOfumlgtest",/* 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("rootQualifierB"),/* 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\": \"umlgtest\", \"associationClassOne\": false, \"memberEndOfAssociationClass\": false, \"associationClassPropertyName\": null, \"inverseAssociationClassPropertyName\": null, \"associationClassProperty\": false, \"onePrimitivePropertyOfAssociationClass\": false, \"onePrimitive\": false, \"readOnly\": false, \"dataTypeEnum\": null, \"validations\": null, \"qualifiedName\": \"umlgtest\", \"persistentName\": \"umlgtest\", \"inverseName\": \"inverseOfumlgtest\", \"inverseQualifiedName\": \"inverseOfumlgtest\", \"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\": \"rootQualifierB\", \"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 QualifierBRuntimePropertyEnum
		 * 
		 * @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 QualifierBRuntimePropertyEnum(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\": \"QualifierB\", ");
			sb.append("\"qualifiedName\": \"umlgtest::org::umlg::qualifiertest::QualifierB\", ");
			sb.append("\"uri\": \"TODO\", ");
			sb.append("\"properties\": [");
			for ( QualifierBRuntimePropertyEnum l : QualifierBRuntimePropertyEnum.values() ) {
				sb.append(l.toJson());
				if ( count < QualifierBRuntimePropertyEnum.values().length ) {
					count++;
					sb.append(",");
				}
			}
			sb.append("]}");
			return sb.toString();
		}
		
		static public QualifierBRuntimePropertyEnum fromInverseQualifiedName(String inverseQualifiedName) {
			if ( umlgtest.getInverseQualifiedName().equals(inverseQualifiedName) ) {
				return umlgtest;
			}
			if ( qualifierA.getInverseQualifiedName().equals(inverseQualifiedName) ) {
				return qualifierA;
			}
			if ( name1.getInverseQualifiedName().equals(inverseQualifiedName) ) {
				return name1;
			}
			if ( int3.getInverseQualifiedName().equals(inverseQualifiedName) ) {
				return int3;
			}
			if ( int2.getInverseQualifiedName().equals(inverseQualifiedName) ) {
				return int2;
			}
			if ( int1.getInverseQualifiedName().equals(inverseQualifiedName) ) {
				return int1;
			}
			if ( name2.getInverseQualifiedName().equals(inverseQualifiedName) ) {
				return name2;
			}
			if ( qualifierAInt.getInverseQualifiedName().equals(inverseQualifiedName) ) {
				return qualifierAInt;
			}
			if ( qualifierAMultipleInt.getInverseQualifiedName().equals(inverseQualifiedName) ) {
				return qualifierAMultipleInt;
			}
			return null;
		}
		
		static public QualifierBRuntimePropertyEnum fromLabel(String _label) {
			if ( umlgtest.getLabel().equals(_label) ) {
				return umlgtest;
			}
			if ( qualifierA.getLabel().equals(_label) ) {
				return qualifierA;
			}
			if ( name1.getLabel().equals(_label) ) {
				return name1;
			}
			if ( int3.getLabel().equals(_label) ) {
				return int3;
			}
			if ( int2.getLabel().equals(_label) ) {
				return int2;
			}
			if ( int1.getLabel().equals(_label) ) {
				return int1;
			}
			if ( name2.getLabel().equals(_label) ) {
				return name2;
			}
			if ( qualifierAInt.getLabel().equals(_label) ) {
				return qualifierAInt;
			}
			if ( qualifierAMultipleInt.getLabel().equals(_label) ) {
				return qualifierAMultipleInt;
			}
			return null;
		}
		
		static public QualifierBRuntimePropertyEnum fromQualifiedName(String qualifiedName) {
			if ( umlgtest.getQualifiedName().equals(qualifiedName) ) {
				return umlgtest;
			}
			if ( qualifierA.getQualifiedName().equals(qualifiedName) ) {
				return qualifierA;
			}
			if ( name1.getQualifiedName().equals(qualifiedName) ) {
				return name1;
			}
			if ( int3.getQualifiedName().equals(qualifiedName) ) {
				return int3;
			}
			if ( int2.getQualifiedName().equals(qualifiedName) ) {
				return int2;
			}
			if ( int1.getQualifiedName().equals(qualifiedName) ) {
				return int1;
			}
			if ( name2.getQualifiedName().equals(qualifiedName) ) {
				return name2;
			}
			if ( qualifierAInt.getQualifiedName().equals(qualifiedName) ) {
				return qualifierAInt;
			}
			if ( qualifierAMultipleInt.getQualifiedName().equals(qualifiedName) ) {
				return qualifierAMultipleInt;
			}
			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