/******************************************************************************* * Copyright (c) 2011-2013 University of Mannheim: Chair for Software Engineering * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Ralph Gerbig - initial API and implementation and initial documentation *******************************************************************************/ package de.uni_mannheim.informatik.swt.models.plm.PLM; import org.eclipse.emf.common.util.EList; /** * <!-- begin-user-doc --> * A representation of the model object '<em><b>Ontology</b></em>'. * <!-- end-user-doc --> * * <p> * The following features are supported: * <ul> * <li>{@link de.uni_mannheim.informatik.swt.models.plm.PLM.Ontology#getContent <em>Content</em>}</li> * <li>{@link de.uni_mannheim.informatik.swt.models.plm.PLM.Ontology#getEnumerations <em>Enumerations</em>}</li> * </ul> * </p> * * @see de.uni_mannheim.informatik.swt.models.plm.PLM.PLMPackage#getOntology() * @model * @generated */ public interface Ontology extends Element, Context { /** * Returns the value of the '<em><b>Content</b></em>' containment reference list. * The list contents are of type {@link de.uni_mannheim.informatik.swt.models.plm.PLM.Model}. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Content</em>' containment reference list isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * @return the value of the '<em>Content</em>' containment reference list. * @see de.uni_mannheim.informatik.swt.models.plm.PLM.PLMPackage#getOntology_Content() * @model containment="true" * @generated */ EList<Model> getContent(); /** * Returns the value of the '<em><b>Enumerations</b></em>' containment reference list. * The list contents are of type {@link de.uni_mannheim.informatik.swt.models.plm.PLM.Enumeration}. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Enumerations</em>' containment reference list isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * @return the value of the '<em>Enumerations</em>' containment reference list. * @see de.uni_mannheim.informatik.swt.models.plm.PLM.PLMPackage#getOntology_Enumerations() * @model containment="true" * @generated */ EList<Enumeration> getEnumerations(); /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * <!-- begin-model-doc --> * returns the model identified by the level * <!-- end-model-doc --> * @model ordered="false" levelRequired="true" * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL body='if level > 0 and level < self.content->size() then\r\n\tself.content->at(level)\r\nelse\r\n\tnull\r\nendif'" * @generated */ Model getModelAtLevel(int level); /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * <!-- begin-model-doc --> * returns all primitive datatypes * <!-- end-model-doc --> * @model kind="operation" * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL body='self.oclAsType(ecore::EObject).eClass().ePackage.getEAnnotation(\'http://swt.informatik.uni-mannheim.de/PLM/Datatypes\').details.key->asOrderedSet()'" * @generated */ EList<String> getPrimitiveDatatypes(); /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * <!-- begin-model-doc --> * returns all primitive datatypes * <!-- end-model-doc --> * @model required="true" typeRequired="true" * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL body='if (self.oclAsType(ecore::EObject).eClass().ePackage.getEAnnotation(\'http://swt.informatik.uni-mannheim.de/PLM/Datatypes\').details->select(e | e.key = type)->size() = 1) then\r\n\tself.oclAsType(ecore::EObject).eClass().ePackage.getEAnnotation(\'http://swt.informatik.uni-mannheim.de/PLM/Datatypes\').details->select(e | e.key = type).value->first()\r\nelse\r\n\tnull\r\nendif'" * @generated */ String getRegexForPrimitiveDatatype(String type); } // Ontology