/** */ package org.eclipse.etrice.core.room; import org.eclipse.emf.common.util.EList; import org.eclipse.etrice.core.common.base.Annotation; import org.eclipse.etrice.core.common.base.Documentation; import org.eclipse.etrice.core.fsm.fSM.AbstractInterfaceItem; import org.eclipse.etrice.core.fsm.fSM.ModelComponent; /** * * A representation of the model object 'Actor Class'. * * * *
Together with {@link ProtocolClass} and {@link DataClass} one of * the main class types of the ROOM language. * *

* The actor class in ROOM has three compartments which aren't represented as separate model objects. * To understand to which compartment an attribute or reference belongs to here is a list *

*

* * * *

* The following features are supported: *

* * * @see org.eclipse.etrice.core.room.RoomPackage#getActorClass() * @model * @generated */ public interface ActorClass extends ActorContainerClass, ModelComponent { /** * Returns the value of the 'Interface Ports' containment reference list. * The list contents are of type {@link org.eclipse.etrice.core.room.Port}. * * * *
This is a list containing all ports of the actor interface. * * * @return the value of the 'Interface Ports' containment reference list. * @see org.eclipse.etrice.core.room.RoomPackage#getActorClass_InterfacePorts() * @model containment="true" * @generated */ EList getInterfacePorts(); /** * Returns the value of the 'Structure Docu' containment reference. * * * *
This is an optional documentation of the actor structure. * * * @return the value of the 'Structure Docu' containment reference. * @see #setStructureDocu(Documentation) * @see org.eclipse.etrice.core.room.RoomPackage#getActorClass_StructureDocu() * @model containment="true" * @generated */ Documentation getStructureDocu(); /** * Sets the value of the '{@link org.eclipse.etrice.core.room.ActorClass#getStructureDocu Structure Docu}' containment reference. * * * @param value the new value of the 'Structure Docu' containment reference. * @see #getStructureDocu() * @generated */ void setStructureDocu(Documentation value); /** * Returns the value of the 'Service Implementations' containment reference list. * The list contents are of type {@link org.eclipse.etrice.core.room.ServiceImplementation}. * * * *
This is a list of all service implementations. * * * @return the value of the 'Service Implementations' containment reference list. * @see org.eclipse.etrice.core.room.RoomPackage#getActorClass_ServiceImplementations() * @model containment="true" * @generated */ EList getServiceImplementations(); /** * Returns the value of the 'Attributes' containment reference list. * The list contents are of type {@link org.eclipse.etrice.core.room.Attribute}. * * * *
This is a list of all actor class private attributes. * * * @return the value of the 'Attributes' containment reference list. * @see org.eclipse.etrice.core.room.RoomPackage#getActorClass_Attributes() * @model containment="true" * @generated */ EList getAttributes(); /** * Returns the value of the 'Service Access Points' containment reference list. * The list contents are of type {@link org.eclipse.etrice.core.room.SAP}. * * * *
This is a list of all SAPs. * * * @return the value of the 'Service Access Points' containment reference list. * @see org.eclipse.etrice.core.room.RoomPackage#getActorClass_ServiceAccessPoints() * @model containment="true" * @generated */ EList getServiceAccessPoints(); /** * Returns the value of the 'Internal Ports' containment reference list. * The list contents are of type {@link org.eclipse.etrice.core.room.Port}. * * * *
This is a list containing all ports of the actor structure (internal end ports). * * * @return the value of the 'Internal Ports' containment reference list. * @see org.eclipse.etrice.core.room.RoomPackage#getActorClass_InternalPorts() * @model containment="true" * @generated */ EList getInternalPorts(); /** * Returns the value of the 'External Ports' containment reference list. * The list contents are of type {@link org.eclipse.etrice.core.room.ExternalPort}. * * * *
This is a list containing all ports of the actor interface that are end ports. * * * @return the value of the 'External Ports' containment reference list. * @see org.eclipse.etrice.core.room.RoomPackage#getActorClass_ExternalPorts() * @model containment="true" * @generated */ EList getExternalPorts(); /** * Returns the value of the 'Behavior Docu' containment reference. * * * *
This is an optional documentation of the actor behavior. * * * @return the value of the 'Behavior Docu' containment reference. * @see #setBehaviorDocu(Documentation) * @see org.eclipse.etrice.core.room.RoomPackage#getActorClass_BehaviorDocu() * @model containment="true" * @generated */ Documentation getBehaviorDocu(); /** * Sets the value of the '{@link org.eclipse.etrice.core.room.ActorClass#getBehaviorDocu Behavior Docu}' containment reference. * * * @param value the new value of the 'Behavior Docu' containment reference. * @see #getBehaviorDocu() * @generated */ void setBehaviorDocu(Documentation value); /** * Returns the value of the 'Behavior Annotations' containment reference list. * The list contents are of type {@link org.eclipse.etrice.core.common.base.Annotation}. * * * *
This is a list of annotations to the actor behavior. * * * @return the value of the 'Behavior Annotations' containment reference list. * @see org.eclipse.etrice.core.room.RoomPackage#getActorClass_BehaviorAnnotations() * @model containment="true" * @generated */ EList getBehaviorAnnotations(); /** * Returns the value of the 'Operations' containment reference list. * The list contents are of type {@link org.eclipse.etrice.core.room.StandardOperation}. * * * *
This is a list of all private operations of this actor class. * * * @return the value of the 'Operations' containment reference list. * @see org.eclipse.etrice.core.room.RoomPackage#getActorClass_Operations() * @model containment="true" * @generated */ EList getOperations(); /** * Returns the value of the 'Structors' containment reference list. * The list contents are of type {@link org.eclipse.etrice.core.room.ClassStructor}. * *

* If the meaning of the 'Structors' containment reference list isn't clear, * there really should be more of a description here... *

* * @return the value of the 'Structors' containment reference list. * @see org.eclipse.etrice.core.room.RoomPackage#getActorClass_Structors() * @model containment="true" * @generated */ EList getStructors(); /** * * * @model kind="operation" * annotation="http://www.eclipse.org/emf/2002/GenModel body='EList<Port> ports = new BasicEList<Port>();\r\nfor (ExternalPort ep : getExternalPorts()) {\r\n\tif(ep.getInterfacePort() != null)\r\n\t\tports.add(ep.getInterfacePort());\r\n}\r\nreturn ports;\r\n'" * @generated */ EList getExternalEndPorts(); /** * * * @model kind="operation" * annotation="http://www.eclipse.org/emf/2002/GenModel body='EList<Port> ports = new BasicEList<Port>(getInterfacePorts());\r\nfor (ExternalPort ep : getExternalPorts()) {\r\n\tif(ep.getInterfacePort() != null)\r\n\t\tports.remove(ep.getInterfacePort());\r\n}\r\nreturn ports;\r\n'" * @generated */ EList getRelayPorts(); /** * * * @model kind="operation" * annotation="http://www.eclipse.org/emf/2002/GenModel body='EList<SPP> spps = new BasicEList<SPP>();\r\nfor (ServiceImplementation spp : getServiceImplementations()) {\r\n\tif(spp.getSpp() != null)\r\n\t\tspps.add(spp.getSpp());\r\n}\r\nreturn spps;\r\n'" * @generated */ EList getImplementedSPPs(); /** * * * @model kind="operation" * annotation="http://www.eclipse.org/emf/2002/GenModel body='return (ActorClass)getBase();\r\n'" * @generated */ ActorClass getActorBase(); /** * * * @model kind="operation" * annotation="http://www.eclipse.org/emf/2002/GenModel body='return getName();\r\n'" * @generated */ String getComponentName(); /** * * * @model kind="operation" * annotation="http://www.eclipse.org/emf/2002/GenModel body='return new <%org.eclipse.emf.common.util.BasicEList%><AbstractInterfaceItem>(new <%org.eclipse.etrice.core.room.util.RoomHelpers%>().getInterfaceItems(this));\r\n'" * @generated */ EList getAbstractInterfaceItems(); /** * * * @model kind="operation" * annotation="http://www.eclipse.org/emf/2002/GenModel body='return new <%org.eclipse.emf.common.util.BasicEList%><AbstractInterfaceItem>(new <%org.eclipse.etrice.core.room.util.RoomHelpers%>().getAllInterfaceItems(this));\r\n'" * @generated */ EList getAllAbstractInterfaceItems(); } // ActorClass