package org.eclipse.modisco.kdm.kdm; import java.util.ArrayList; import java.util.List; import javax.persistence.Access; import javax.persistence.AccessType; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.JoinTable; import javax.persistence.OneToMany; import javax.persistence.OrderColumn; import org.eclipse.emf.texo.test.TexoTestObjectConverter; import org.eclipse.emf.texo.test.TexoTestQNameConverter; import org.eclipse.modisco.kdm.core.KDMEntity; import org.eclipse.persistence.annotations.Converter; import org.eclipse.persistence.annotations.Converters; /** * A representation of the model object '<em><b>KDMModel</b></em>'. <!-- begin-user-doc --> <!-- end-user-doc --> <!-- * begin-model-doc --> A KDM model corresponds to one of the well-known architecture views of software systems. KDM * defines several concrete subclasses of the KDMModel class. <!-- end-model-doc --> * * @generated */ @Entity(name = "kdm_KDMModel") @Converters({ @Converter(converterClass = TexoTestObjectConverter.class, name = "TexoTestObjectConverter"), @Converter(converterClass = TexoTestQNameConverter.class, name = "TexoTestQNameConverter") }) public abstract class KDMModel extends KDMFramework { /** * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> Instances of KDM entities owned by the * model. Each KDM model defines specific subclasses of KDMEntity class. <!-- end-model-doc --> * * @generated */ @OneToMany(cascade = { CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH }) @OrderColumn() @JoinTable() @Access(AccessType.FIELD) private List<KDMEntity> ownedElement = new ArrayList<KDMEntity>(); /** * Returns the value of '<em><b>ownedElement</b></em>' feature. * * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> Instances of KDM entities owned by the * model. Each KDM model defines specific subclasses of KDMEntity class. <!-- end-model-doc --> * * @return the value of '<em><b>ownedElement</b></em>' feature * @generated */ public List<KDMEntity> getOwnedElement() { return ownedElement; } /** * Adds to the <em>ownedElement</em> feature. * * @param ownedElementValue * the value to add * @return true if the value is added to the collection (it was not yet present in the collection), false otherwise * @generated */ public boolean addToOwnedElement(KDMEntity ownedElementValue) { if (!ownedElement.contains(ownedElementValue)) { boolean result = ownedElement.add(ownedElementValue); ownedElementValue.setModel(this); return result; } return false; } /** * Removes from the <em>ownedElement</em> feature. * * @param ownedElementValue * the value to remove * @return true if the value is removed from the collection (it existed in the collection before removing), false * otherwise * * @generated */ public boolean removeFromOwnedElement(KDMEntity ownedElementValue) { if (ownedElement.contains(ownedElementValue)) { boolean result = ownedElement.remove(ownedElementValue); ownedElementValue.setModel(null); return result; } return false; } /** * Clears the <em>ownedElement</em> feature. * * @generated */ public void clearOwnedElement() { while (!ownedElement.isEmpty()) { removeFromOwnedElement(ownedElement.iterator().next()); } } /** * Sets the '{@link KDMModel#getOwnedElement() <em>ownedElement</em>}' feature. * * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> Instances of KDM entities owned by the * model. Each KDM model defines specific subclasses of KDMEntity class. <!-- end-model-doc --> * * @param newOwnedElement * the new value of the '{@link KDMModel#getOwnedElement() ownedElement}' feature. * @generated */ public void setOwnedElement(List<KDMEntity> newOwnedElement) { clearOwnedElement(); for (KDMEntity value : newOwnedElement) { addToOwnedElement(value); } } /** * A toString method which prints the values of all EAttributes of this instance. <!-- begin-user-doc --> <!-- * end-user-doc --> * * @generated */ @Override public String toString() { return "KDMModel " + "{extends: " + super.toString() + "} "; } }