/* $Id: MetaTypes.java 18581 2010-07-26 22:57:07Z bobtarling $ ******************************************************************************* * Copyright (c) 2009 Contributors - see below * 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: * thn ******************************************************************************* * * Some portions of this file was previously release using the BSD License: */ // Copyright (c) 2005-2008 The Regents of the University of California. All // Rights Reserved. Permission to use, copy, modify, and distribute this // software and its documentation without fee, and without a written // agreement is hereby granted, provided that the above copyright notice // and this paragraph appear in all copies. This software program and // documentation are copyrighted by The Regents of the University of // California. The software program and documentation are supplied "AS // IS", without any accompanying services from The Regents. The Regents // does not warrant that the operation of the program will be // uninterrupted or error-free. The end-user understands that the program // was developed for research purposes and is advised not to rely // exclusively on the program for any reason. IN NO EVENT SHALL THE // UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, // SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, // ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF // THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF // SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY // WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE // PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF // CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, // UPDATES, ENHANCEMENTS, OR MODIFICATIONS. package org.argouml.model; /** * This interface contains methods to retrieve objects that represent the * different UML types. These objects are use as tokens used to create * model elements in some methods. * * TODO: There are parts of ArgoUML which assume that the objects returned * here are Classes. We should formalize that by changing the return types to * match. tfm - 20070620 * * @see org.argouml.model.UmlFactory#buildConnection( * Object, Object, Object, Object, Object, Object, Object) * @see org.argouml.model.UmlFactory#buildNode(Object) */ public interface MetaTypes { /** * Given a Element instance returns the name of its meta type. * * @return The name of the meta type. * @param element The model element. */ String getName(Object element); /** * @return Returns the Abstraction. */ Object getAbstraction(); /** * @return Returns the SendSignalAction. */ Object getAcceptEventAction(); /** * @return Returns the Action. */ Object getAction(); /** * @return Returns the ActionExpression. */ Object getActionExpression(); /** * @return Returns the ActionState. */ Object getActionState(); /** * @return the Activity class for UML2 */ Object getActivity(); /** * @return the ActivityParameterNode class for UML2 */ Object getActivityParameterNode(); /** * @return Returns the Actor. */ Object getActor(); /** * @return Returns the AggregationKind. */ Object getAggregationKind(); /** * @return return Artifact type. */ Object getArtifact(); /** * @return Returns the Association. */ Object getAssociation(); /** * @return Returns the AssociationClass. */ Object getAssociationClass(); /** * @return Returns the AssociationEnd. */ Object getAssociationEnd(); /** * @return Returns the AssociationEndRole. */ Object getAssociationEndRole(); /** * @return Returns the AssociationRole. */ Object getAssociationRole(); /** * @return Returns the Attribute. */ Object getAttribute(); /** * @return Returns the BehavioralFeature. */ Object getBehavioralFeature(); /** * @return the implementation class representing a Binding */ Object getBinding(); /** * @return Returns the BooleanExpression. */ Object getBooleanExpression(); /** * @return Returns the CallAction. */ Object getCallAction(); /** * @return Returns the CreateObjectAction. */ Object getCallBehaviorAction(); /** * @return Returns the CallConcurrencyKind. */ Object getCallConcurrencyKind(); /** * @return Returns the CallState. */ Object getCallState(); /** * @return the CentralBufferNode class for UML2 */ Object getCentralBufferNode(); /** * Return the UML Class class. This method has a special name because Java * already uses the getClass() method. * * @return Returns the Class. */ Object getUMLClass(); /** * @return Returns the Classifier. */ Object getClassifier(); /** * @return Returns the ClassifierRole. */ Object getClassifierRole(); /** * @return Returns the Collaboration. */ Object getCollaboration(); /** * @return Returns the Comment. */ Object getComment(); /** * @return Returns the Component. */ Object getComponent(); /** * @return Returns the ComponentInstance. */ Object getComponentInstance(); /** * @return Returns the CompositeState. */ Object getCompositeState(); /** * @return Return the Constraint type. */ Object getConstraint(); /** * @return Returns the ControlFlow class for UML2 */ Object getControlFlow(); /** * @return Returns the CreateAction. */ Object getCreateAction(); /** * @return Returns the CreateObjectAction. */ Object getCreateObjectAction(); /** * @return Returns the Datatype. */ Object getDataType(); /** * @return Returns the DataStoreNode class for UML2. */ Object getDataStoreNode(); /** * @return Returns the Dependency. */ Object getDependency(); /** * @return Returns the DestroyAction. */ Object getDestroyAction(); /** * @return Returns the DestroyObjectAction. */ Object getDestroyObjectAction(); /** * @return the ElementImport class. */ Object getElementImport(); /** * @return Returns the Enumeration. */ Object getEnumeration(); /** * @return Returns the Enumeration. */ Object getEnumerationLiteral(); /** * @return Returns the Event. */ Object getEvent(); /** * @return Returns the Exception. */ Object getException(); /** * @return Returns the ExpansionNode class for UML2 */ Object getExpansionNode(); /** * @return Returns the Extend. */ Object getExtend(); /** * @return Returns the ExtensionPoint type. */ Object getExtensionPoint(); /** * @return Returns the FinalState. */ Object getFinalState(); // Flow is not in UML 2.x - don't implement /** * @return Returns the GeneralizableElement. */ Object getGeneralizableElement(); /** * @return Returns the Generalization. */ Object getGeneralization(); /** * @return Returns the Guard. */ Object getGuard(); /** * @return Returns the Include. */ Object getInclude(); /** * @return Returns the InputPin. */ Object getInputPin(); /** * @return Returns the Instance. */ Object getInstance(); /** * @return Returns the Interface. */ Object getInterface(); /** * @return Returns the Link. */ Object getLink(); /** * @return Returns the Message. */ Object getMessage(); /** * @return Returns the Model. */ Object getModel(); /** * @return Returns the ModelElement. */ Object getModelElement(); /** * @return Returns the Multiplicity. */ Object getMultiplicity(); /** * @return Returns the Namespace. */ Object getNamespace(); /** * @return Returns the Node. */ Object getNode(); /** * @return Returns the NodeInstance. */ Object getNodeInstance(); /** * @return Returns the Object. */ Object getObject(); /** * @return Returns the ObjectFlowState. */ Object getObjectFlowState(); /** * @return Returns the ObjectFlow class for UML2 */ Object getObjectFlow(); /** * @return Returns the Operation. */ Object getOperation(); /** * @return Returns the OutputPin. */ Object getOutputPin(); /** * @return Returns the Package. */ Object getPackage(); /** * @return Returns the Parameter. */ Object getParameter(); /** * @return Returns the ParameterDirectionKind. */ Object getParameterDirectionKind(); /** * @return Returns the Partition. */ Object getPartition(); /** * @return Return the PackageImport type. * @since UML 2.0 */ Object getPackageImport(); /** * @return Return the Profile type. * @since UML 2.0 */ Object getProfile(); /** * @return Returns the Pseudostate. */ Object getPseudostate(); /** * @return Returns the PseudostateKind. */ Object getPseudostateKind(); /** * @return Returns the Reception. */ Object getReception(); /** * @return Returns the ReturnAction. */ Object getReturnAction(); /** * @return Returns the ScopeKind. */ Object getScopeKind(); /** * @return Returns the SendAction. */ Object getSendAction(); /** * @return Returns the SendSignalAction. */ Object getSendSignalAction(); /** * @return Returns the Signal. */ Object getSignal(); /** * @return Returns the SimpleState. */ Object getSimpleState(); /** * @return Returns the State. */ Object getState(); /** * @return Returns the StateMachine. */ Object getStateMachine(); /** * @return Returns the StateVertex. */ Object getStateVertex(); /** * @return Returns the Stereotype. */ Object getStereotype(); /** * @return Returns the Stimulus. */ Object getStimulus(); /** * @return Returns the StubState. */ Object getStubState(); /** * @return Returns the SubactivityState. */ Object getSubactivityState(); /** * @return Returns the SubmachineState. */ Object getSubmachineState(); /** * @return Returns the Subsystem. */ Object getSubsystem(); /** * @return Returns the SynchState. */ Object getSynchState(); /** * Return the TagDefinition class. * * @since UML 1.4 * @return Returns the TagDefinition, or null in UML 1.3 Model subsystem * implementations. */ Object getTagDefinition(); /** * Return the TaggedValue class. * * @return Returns the TaggedValue class */ Object getTaggedValue(); /** * @return the implementation class representing a TemplateArgument */ public Object getTemplateArgument(); /** * @return the implementation class representing a TemplateParameter */ public Object getTemplateParameter(); /** * @return Returns the TerminateAction. */ Object getTerminateAction(); /** * @return Returns the Transition. */ Object getTransition(); /** * @return Returns the Usage. */ Object getUsage(); /** * @return Returns the Use Case. */ Object getUseCase(); /** * @return Returns the VisibilityKind. */ Object getVisibilityKind(); /** * @return Returns the Interaction */ Object getInteraction(); Object getActionSequence(); Object getArgument(); Object getAttributeLink(); Object getCallEvent(); Object getChangeEvent(); Object getClassifierInState(); Object getCollaborationInstanceSet(); Object getDataValue(); Object getElement(); Object getElementResidence(); Object getExpression(); Object getFeature(); Object getFlow(); Object getInteractionInstanceSet(); Object getLinkEnd(); Object getLinkObject(); Object getMethod(); Object getMultiplicityRange(); Object getPrimitiveType(); Object getRelationship(); Object getSignalEvent(); Object getStructuralFeature(); Object getSubsystemInstance(); Object getTimeEvent(); Object getUninterpretedAction(); }