protected void performAddOperation(ModelElementInstance referenceSourceElement, T referenceTargetElement) { String identifier = getReferenceIdentifier(referenceSourceElement); List<String> references = StringUtil.splitListBySeparator(identifier, separator); String targetIdentifier = getTargetElementIdentifier(referenceTargetElement); references.add(targetIdentifier); identifier = StringUtil.joinList(references, separator); setReferenceIdentifier(referenceSourceElement, identifier); }
public Collection<ApplicabilityRule> getApplicabilityRule() { return applicabilityRuleRefCollection.getReferenceTargetElements(this); }
public boolean add(T t) { if (!contains(t)) { performAddOperation(referenceSourceElement, t); } return true; }
@Override protected void updateReference(ModelElementInstance referenceSourceElement, String oldIdentifier, String newIdentifier) { String referencingIdentifier = getReferenceIdentifier(referenceSourceElement); List<String> references = StringUtil.splitListBySeparator(referencingIdentifier, separator); if(oldIdentifier != null && references.contains(oldIdentifier)) { referencingIdentifier = referencingIdentifier.replace(oldIdentifier, newIdentifier); setReferenceIdentifier(referenceSourceElement, newIdentifier); } }
@SuppressWarnings("unchecked") public void performModelBuild(Model model) { // register declaring type as a referencing type of referenced type ModelElementTypeImpl referenceTargetType = (ModelElementTypeImpl) model.getType(referenceTargetElement); // the actual referenced type attributeReferenceCollection.setReferenceTargetElementType(referenceTargetType); // the referenced attribute may be declared on a base type of the referenced type. AttributeImpl<String> idAttribute = (AttributeImpl<String>) referenceTargetType.getAttribute("id"); if(idAttribute != null) { idAttribute.registerIncoming(attributeReferenceCollection); attributeReferenceCollection.setReferenceTargetAttribute(idAttribute); } else { throw new ModelException("Element type " + referenceTargetType.getTypeNamespace() + ":" + referenceTargetType.getTypeName() + " has no id attribute"); } }
public boolean remove(Object o) { ModelUtil.ensureInstanceOf(o, ModelElementInstanceImpl.class); performRemoveOperation(referenceSourceElement, o); return true; }
/** * @param referenceSourceElement * @param o */ protected void performRemoveOperation(ModelElementInstance referenceSourceElement, Object o) { removeReference(referenceSourceElement, (ModelElementInstance) o); }
public void clear() { performClearOperation(referenceSourceElement); } };
protected void performClearOperation(ModelElementInstance referenceSourceElement) { setReferenceIdentifier(referenceSourceElement, ""); }
private Collection<DomElement> getView(ModelElementInstance referenceSourceElement) { DomDocument document = referenceSourceElement.getModelInstance().getDocument(); String identifier = getReferenceIdentifier(referenceSourceElement); List<String> references = StringUtil.splitListBySeparator(identifier, separator); Collection<DomElement> referenceTargetElements = new ArrayList<DomElement>(); for (String reference : references) { DomElement referenceTargetElement = document.getElementById(reference); if (referenceTargetElement != null) { referenceTargetElements.add(referenceTargetElement); } else { throw new ModelException("Unable to find a model element instance for id " + identifier); } } return referenceTargetElements; }
@Override protected void updateReference(ModelElementInstance referenceSourceElement, String oldIdentifier, String newIdentifier) { String referencingIdentifier = getReferenceIdentifier(referenceSourceElement); List<String> references = StringUtil.splitListBySeparator(referencingIdentifier, separator); if(oldIdentifier != null && references.contains(oldIdentifier)) { referencingIdentifier = referencingIdentifier.replace(oldIdentifier, newIdentifier); setReferenceIdentifier(referenceSourceElement, newIdentifier); } }
@SuppressWarnings("unchecked") public void performModelBuild(Model model) { // register declaring type as a referencing type of referenced type ModelElementTypeImpl referenceTargetType = (ModelElementTypeImpl) model.getType(referenceTargetElement); // the actual referenced type attributeReferenceCollection.setReferenceTargetElementType(referenceTargetType); // the referenced attribute may be declared on a base type of the referenced type. AttributeImpl<String> idAttribute = (AttributeImpl<String>) referenceTargetType.getAttribute("id"); if(idAttribute != null) { idAttribute.registerIncoming(attributeReferenceCollection); attributeReferenceCollection.setReferenceTargetAttribute(idAttribute); } else { throw new ModelException("Element type " + referenceTargetType.getTypeNamespace() + ":" + referenceTargetType.getTypeName() + " has no id attribute"); } }
public boolean remove(Object o) { ModelUtil.ensureInstanceOf(o, ModelElementInstanceImpl.class); performRemoveOperation(referenceSourceElement, o); return true; }
/** * @param referenceSourceElement * @param o */ protected void performRemoveOperation(ModelElementInstance referenceSourceElement, Object o) { removeReference(referenceSourceElement, (ModelElementInstance) o); }
public void clear() { performClearOperation(referenceSourceElement); } };
protected void performClearOperation(ModelElementInstance referenceSourceElement) { setReferenceIdentifier(referenceSourceElement, ""); }
private Collection<DomElement> getView(ModelElementInstance referenceSourceElement) { DomDocument document = referenceSourceElement.getModelInstance().getDocument(); String identifier = getReferenceIdentifier(referenceSourceElement); List<String> references = StringUtil.splitListBySeparator(identifier, separator); Collection<DomElement> referenceTargetElements = new ArrayList<DomElement>(); for (String reference : references) { DomElement referenceTargetElement = document.getElementById(reference); if (referenceTargetElement != null) { referenceTargetElements.add(referenceTargetElement); } else { throw new ModelException("Unable to find a model element instance for id " + identifier); } } return referenceTargetElements; }
@Override @SuppressWarnings("unchecked") protected void removeReference(ModelElementInstance referenceSourceElement, ModelElementInstance referenceTargetElement) { String identifier = getReferenceIdentifier(referenceSourceElement); List<String> references = StringUtil.splitListBySeparator(identifier, separator); String identifierToRemove = getTargetElementIdentifier((T) referenceTargetElement); references.remove(identifierToRemove); identifier = StringUtil.joinList(references, separator); setReferenceIdentifier(referenceSourceElement, identifier); }
public Collection<Sentry> getExitCriterias() { return exitCriteriaRefCollection.getReferenceTargetElements(this); }
public boolean add(T t) { if (!contains(t)) { performAddOperation(referenceSourceElement, t); } return true; }