Coverage Report - org.argouml.model.euml.MetaTypesEUMLImpl
 
Classes in this File Line Coverage Branch Coverage Complexity
MetaTypesEUMLImpl
0%
0/147
0%
0/6
1.135
 
 1  
 // $Id: MetaTypesEUMLImpl.java 19074 2011-02-24 14:48:45Z thn $
 2  
 /*******************************************************************************
 3  
  * Copyright (c) 2007,2010 Tom Morris and other contributors
 4  
  * All rights reserved. This program and the accompanying materials
 5  
  * are made available under the terms of the Eclipse Public License v1.0
 6  
  * which accompanies this distribution, and is available at
 7  
  * http://www.eclipse.org/legal/epl-v10.html
 8  
  *
 9  
  * Contributors:
 10  
  *    Tom Morris - initial implementation
 11  
  *    thn
 12  
  *****************************************************************************/
 13  
 
 14  
 package org.argouml.model.euml;
 15  
 
 16  
 import org.argouml.model.MetaTypes;
 17  
 import org.argouml.model.NotImplementedException;
 18  
 import org.eclipse.uml2.uml.Abstraction;
 19  
 import org.eclipse.uml2.uml.AcceptEventAction;
 20  
 import org.eclipse.uml2.uml.Action;
 21  
 import org.eclipse.uml2.uml.Activity;
 22  
 import org.eclipse.uml2.uml.ActivityParameterNode;
 23  
 import org.eclipse.uml2.uml.ActivityPartition;
 24  
 import org.eclipse.uml2.uml.Actor;
 25  
 import org.eclipse.uml2.uml.AggregationKind;
 26  
 import org.eclipse.uml2.uml.Artifact;
 27  
 import org.eclipse.uml2.uml.Association;
 28  
 import org.eclipse.uml2.uml.AssociationClass;
 29  
 import org.eclipse.uml2.uml.BehavioralFeature;
 30  
 import org.eclipse.uml2.uml.CallAction;
 31  
 import org.eclipse.uml2.uml.CallBehaviorAction;
 32  
 import org.eclipse.uml2.uml.CallConcurrencyKind;
 33  
 import org.eclipse.uml2.uml.CallEvent;
 34  
 import org.eclipse.uml2.uml.CentralBufferNode;
 35  
 import org.eclipse.uml2.uml.ChangeEvent;
 36  
 import org.eclipse.uml2.uml.Classifier;
 37  
 import org.eclipse.uml2.uml.Collaboration;
 38  
 import org.eclipse.uml2.uml.Comment;
 39  
 import org.eclipse.uml2.uml.Component;
 40  
 import org.eclipse.uml2.uml.Constraint;
 41  
 import org.eclipse.uml2.uml.ControlFlow;
 42  
 import org.eclipse.uml2.uml.CreateObjectAction;
 43  
 import org.eclipse.uml2.uml.DataStoreNode;
 44  
 import org.eclipse.uml2.uml.DataType;
 45  
 import org.eclipse.uml2.uml.Dependency;
 46  
 import org.eclipse.uml2.uml.DestroyObjectAction;
 47  
 import org.eclipse.uml2.uml.Element;
 48  
 import org.eclipse.uml2.uml.ElementImport;
 49  
 import org.eclipse.uml2.uml.Enumeration;
 50  
 import org.eclipse.uml2.uml.EnumerationLiteral;
 51  
 import org.eclipse.uml2.uml.ExpansionNode;
 52  
 import org.eclipse.uml2.uml.Expression;
 53  
 import org.eclipse.uml2.uml.Extend;
 54  
 import org.eclipse.uml2.uml.ExtensionPoint;
 55  
 import org.eclipse.uml2.uml.Feature;
 56  
 import org.eclipse.uml2.uml.FinalState;
 57  
 import org.eclipse.uml2.uml.Generalization;
 58  
 import org.eclipse.uml2.uml.Include;
 59  
 import org.eclipse.uml2.uml.InputPin;
 60  
 import org.eclipse.uml2.uml.InstanceSpecification;
 61  
 import org.eclipse.uml2.uml.Interaction;
 62  
 import org.eclipse.uml2.uml.InteractionConstraint;
 63  
 import org.eclipse.uml2.uml.Interface;
 64  
 import org.eclipse.uml2.uml.Message;
 65  
 import org.eclipse.uml2.uml.Model;
 66  
 import org.eclipse.uml2.uml.MultiplicityElement;
 67  
 import org.eclipse.uml2.uml.Namespace;
 68  
 import org.eclipse.uml2.uml.Node;
 69  
 import org.eclipse.uml2.uml.ObjectFlow;
 70  
 import org.eclipse.uml2.uml.ObjectNode;
 71  
 import org.eclipse.uml2.uml.Operation;
 72  
 import org.eclipse.uml2.uml.OutputPin;
 73  
 import org.eclipse.uml2.uml.PackageImport;
 74  
 import org.eclipse.uml2.uml.Parameter;
 75  
 import org.eclipse.uml2.uml.ParameterDirectionKind;
 76  
 import org.eclipse.uml2.uml.PrimitiveType;
 77  
 import org.eclipse.uml2.uml.Profile;
 78  
 import org.eclipse.uml2.uml.Property;
 79  
 import org.eclipse.uml2.uml.Pseudostate;
 80  
 import org.eclipse.uml2.uml.PseudostateKind;
 81  
 import org.eclipse.uml2.uml.Reception;
 82  
 import org.eclipse.uml2.uml.Relationship;
 83  
 import org.eclipse.uml2.uml.SendSignalAction;
 84  
 import org.eclipse.uml2.uml.Signal;
 85  
 import org.eclipse.uml2.uml.SignalEvent;
 86  
 import org.eclipse.uml2.uml.State;
 87  
 import org.eclipse.uml2.uml.StateMachine;
 88  
 import org.eclipse.uml2.uml.Stereotype;
 89  
 import org.eclipse.uml2.uml.StructuralFeature;
 90  
 import org.eclipse.uml2.uml.TemplateBinding;
 91  
 import org.eclipse.uml2.uml.TemplateParameter;
 92  
 import org.eclipse.uml2.uml.TemplateParameterSubstitution;
 93  
 import org.eclipse.uml2.uml.TimeEvent;
 94  
 import org.eclipse.uml2.uml.Transition;
 95  
 import org.eclipse.uml2.uml.Usage;
 96  
 import org.eclipse.uml2.uml.UseCase;
 97  
 import org.eclipse.uml2.uml.VisibilityKind;
 98  
 
 99  
 
 100  
 
 101  
 /**
 102  
  * The implementation of the MetaTypes for EUML2.
 103  
  */
 104  
 final class MetaTypesEUMLImpl implements MetaTypes {
 105  
 
 106  
     /**
 107  
      * The model implementation.
 108  
      */
 109  
     private EUMLModelImplementation modelImpl;
 110  
 
 111  
     /**
 112  
      * Constructor.
 113  
      * 
 114  
      * @param implementation
 115  
      *            The ModelImplementation.
 116  
      */
 117  0
     public MetaTypesEUMLImpl(EUMLModelImplementation implementation) {
 118  0
         modelImpl = implementation;
 119  0
     }
 120  
 
 121  
     public Object getAbstraction() {
 122  0
         return Abstraction.class;
 123  
     }
 124  
 
 125  
     public Object getAction() {
 126  0
         return Action.class;
 127  
     }
 128  
 
 129  
     public Object getAcceptEventAction() {
 130  0
         return AcceptEventAction.class;
 131  
     }
 132  
 
 133  
     public Object getActionExpression() {
 134  
         // TODO: Auto-generated method stub
 135  0
         throw new NotYetImplementedException();
 136  
     }
 137  
 
 138  
     public Object getActionState() {
 139  
         // TODO: ActionState, CallState, and SubactivityState have been
 140  
         // replaced in UML 2.0 by explicitly modeled Actions
 141  0
         return State.class;
 142  
     }
 143  
     
 144  
     public Object getActivity() {
 145  0
         return Activity.class;
 146  
     }
 147  
 
 148  
     public Object getActivityParameterNode() {
 149  0
         return ActivityParameterNode.class;
 150  
     }
 151  
 
 152  
     public Object getActor() {
 153  0
         return Actor.class;
 154  
     }
 155  
 
 156  
     public Object getAggregationKind() {
 157  0
         return AggregationKind.class;
 158  
     }
 159  
     
 160  
     public Object getArtifact() {
 161  0
         return Artifact.class;
 162  
     }
 163  
 
 164  
     public Object getAssociation() {
 165  0
         return Association.class;
 166  
     }
 167  
 
 168  
     public Object getAssociationClass() {
 169  0
         return AssociationClass.class;
 170  
     }
 171  
 
 172  
     public Object getAssociationEnd() {
 173  
         // an AssociationEnd is now a Property owned by an Association
 174  0
         return Property.class;
 175  
     }
 176  
 
 177  
     public Object getAssociationEndRole() {
 178  
         // TODO: In UML 2.0, ClassifierRole, AssociationRole, and
 179  
         // AssociationEndRole have been replaced by the internal 
 180  
         // structure of the Collaboration
 181  0
         return Classifier.class;
 182  
     }
 183  
 
 184  
     public Object getAssociationRole() {
 185  
         // TODO: In UML 2.0, ClassifierRole, AssociationRole, and
 186  
         // AssociationEndRole have been replaced by the internal 
 187  
         // structure of the Collaboration
 188  0
         return Classifier.class;
 189  
     }
 190  
 
 191  
     public Object getAttribute() {
 192  0
         return Property.class;
 193  
     }
 194  
 
 195  
     public Object getBehavioralFeature() {
 196  0
         return BehavioralFeature.class;
 197  
     }
 198  
     
 199  
     public Object getBinding() {
 200  0
         return TemplateBinding.class;
 201  
     }
 202  
 
 203  
     public Object getBooleanExpression() {
 204  
         // TODO: Auto-generated method stub
 205  0
         throw new NotYetImplementedException();
 206  
     }
 207  
 
 208  
     public Object getCallAction() {
 209  0
         return CallAction.class;
 210  
     }
 211  
 
 212  
     public Object getCallBehaviorAction() {
 213  0
         return CallBehaviorAction.class;
 214  
     }
 215  
 
 216  
     public Object getCallConcurrencyKind() {
 217  0
         return CallConcurrencyKind.class;
 218  
     }
 219  
 
 220  
     public Object getCallState() {
 221  
         // TODO: ActionState, CallState, and SubactivityState have been replaced
 222  
         // in UML 2.0 by explicitly modeled Actions
 223  0
         return State.class;
 224  
     }
 225  
 
 226  
     public Object getCentralBufferNode() {
 227  0
         return CentralBufferNode.class;
 228  
     }
 229  
 
 230  
     public Object getClassifier() {
 231  0
         return Classifier.class;
 232  
     }
 233  
 
 234  
     public Object getClassifierRole() {
 235  
         // TODO: In UML 2.0, ClassifierRole, AssociationRole, and
 236  
         // AssociationEndRole have been replaced by the internal 
 237  
         // structure of the Collaboration
 238  0
         return Classifier.class;
 239  
     }
 240  
 
 241  
     public Object getCollaboration() {
 242  0
         return Collaboration.class;
 243  
     }
 244  
 
 245  
     public Object getComment() {
 246  0
         return Comment.class;
 247  
     }
 248  
 
 249  
     public Object getComponent() {
 250  0
         return Component.class;
 251  
     }
 252  
 
 253  
     public Object getComponentInstance() {
 254  
         // TODO: Gone in UML 2.x
 255  
         // return place holder for now
 256  0
         return InstanceSpecification.class;
 257  
     }
 258  
 
 259  
     public Object getCompositeState() {
 260  
         // TODO: no separate CompositeState in UML 2.1 - tfm
 261  0
         return State.class;
 262  
     }
 263  
     
 264  
     public Object getConstraint() {
 265  0
         return Constraint.class;
 266  
     }
 267  
 
 268  
     public Object getControlFlow() {
 269  0
         return ControlFlow.class;
 270  
     }
 271  
 
 272  
     public Object getCreateAction() {
 273  0
         throw new NotImplementedException("This is not a UML2 element"); //$NON-NLS-1$
 274  
     }
 275  
 
 276  
     public Object getCreateObjectAction() {
 277  0
         return CreateObjectAction.class;
 278  
     }
 279  
 
 280  
     public Object getDataType() {
 281  0
         return DataType.class;
 282  
     }
 283  
 
 284  
     public Object getDependency() {
 285  0
         return Dependency.class;
 286  
     }
 287  
 
 288  
     public Object getDestroyAction() {
 289  0
         throw new NotImplementedException("This is not a UML2 class"); //$NON-NLS-1$
 290  
     }
 291  
     
 292  
     public Object getDestroyObjectAction() {
 293  0
         return DestroyObjectAction.class;
 294  
     }
 295  
     
 296  
     public Object getElementImport() {
 297  0
         return ElementImport.class;
 298  
     }
 299  
 
 300  
     public Object getEnumeration() {
 301  0
         return Enumeration.class;
 302  
     }
 303  
 
 304  
     public Object getEnumerationLiteral() {
 305  0
         return EnumerationLiteral.class;
 306  
     }
 307  
 
 308  
     public Object getEvent() {
 309  
         // TODO: Auto-generated method stub
 310  0
         throw new NotYetImplementedException();
 311  
     }
 312  
 
 313  
     public Object getException() {
 314  
         // TODO: Exception has been removed for UML 2.x
 315  
         // just return Signal for now - tfm
 316  0
         return Signal.class;
 317  
     }
 318  
 
 319  
     public Object getExtend() {
 320  0
         return Extend.class;
 321  
     }
 322  
 
 323  
     public Object getExtensionPoint() {
 324  0
         return ExtensionPoint.class;
 325  
     }
 326  
     
 327  
     public Object getFinalState() {
 328  0
         return FinalState.class;
 329  
     }
 330  
 
 331  
     public Object getGeneralizableElement() {
 332  
         // Gone in UML 2.x - just Classifier now
 333  0
         return Classifier.class;
 334  
     }
 335  
 
 336  
     public Object getGeneralization() {
 337  0
         return Generalization.class;
 338  
     }
 339  
 
 340  
     public Object getGuard() {
 341  
         // TODO: Not really the same thing, but close
 342  0
         return InteractionConstraint.class;
 343  
     }
 344  
 
 345  
     public Object getInclude() {
 346  0
         return Include.class;
 347  
     }
 348  
 
 349  
     public Object getInputPin() {
 350  0
         return InputPin.class;
 351  
     }
 352  
 
 353  
     public Object getInstance() {
 354  
         // TODO: Check for changed semantics - tfm
 355  0
         return InstanceSpecification.class;
 356  
     }
 357  
 
 358  
     public Object getInteraction() {
 359  0
         return Interaction.class;
 360  
     }
 361  
 
 362  
     public Object getInterface() {
 363  0
         return Interface.class;
 364  
     }
 365  
 
 366  
     public Object getLink() {
 367  
         // TODO: Gone in UML 2.1
 368  
         // It is now an InstanceSpecification with an 
 369  
         // Association as its classifier
 370  0
         return InstanceSpecification.class;
 371  
     }
 372  
 
 373  
     public Object getMessage() {
 374  0
         return Message.class;
 375  
     }
 376  
 
 377  
     public Object getModel() {
 378  0
         return Model.class;
 379  
     }
 380  
 
 381  
     public Object getModelElement() {
 382  0
         return Element.class;
 383  
     }
 384  
 
 385  
     public Object getMultiplicity() {
 386  0
         return MultiplicityElement.class;
 387  
     }
 388  
 
 389  
     public String getName(Object element) {
 390  
         Class clazz;
 391  0
         if (element instanceof Class) {
 392  0
             clazz = (Class) element;
 393  
         } else {
 394  0
             clazz = element.getClass();
 395  
         }
 396  0
         String name = clazz.getName();
 397  
 
 398  
         // The name of the meta type is the class name (after the last .)
 399  
         // and before the "Impl" or end of class name.
 400  0
         int startName = name.lastIndexOf('.') + 1;
 401  
 
 402  
         // Eclipse UML2 implementation classes often start with "UML"
 403  0
         final String prefix = "UML"; //$NON-NLS-1$
 404  0
         if (name.substring(startName).startsWith(prefix)) {
 405  0
             startName += prefix.length();
 406  
         }
 407  
 
 408  
         // Eclipse UML2 implementation classes end with "Impl"
 409  0
         final String suffix = "Impl"; //$NON-NLS-1$
 410  0
         int endName = name.length();
 411  0
         if (name.endsWith(suffix)) {
 412  0
             endName -= suffix.length();
 413  
         }
 414  
 
 415  0
         return name.substring(startName, endName);
 416  
     }
 417  
 
 418  
     public Object getNamespace() {
 419  0
         return Namespace.class;
 420  
     }
 421  
 
 422  
     public Object getNode() {
 423  0
         return Node.class;
 424  
     }
 425  
 
 426  
     public Object getNodeInstance() {
 427  
         // TODO: Gone in UML 2.x
 428  
         // Return place holder for now
 429  0
         return InstanceSpecification.class;
 430  
     }
 431  
 
 432  
     public Object getObject() {
 433  
         // is used as InstanceSpecification, see UMLDeploymentDiagram
 434  0
         return org.eclipse.uml2.uml.InstanceSpecification.class;
 435  
         // TODO: what about ObjectNode?
 436  
 //        return org.eclipse.uml2.uml.ObjectNode.class;        
 437  
     }
 438  
 
 439  
     public Object getObjectFlow() {
 440  0
         return ObjectFlow.class;
 441  
     }
 442  
     
 443  
     public Object getObjectFlowState() {
 444  0
         throw new NotImplementedException("This is not a UML1.4 class"); //$NON-NLS-1$
 445  
     }
 446  
 
 447  
     public Object getOperation() {
 448  0
         return Operation.class;
 449  
     }
 450  
 
 451  
     public Object getOutputPin() {
 452  0
         return OutputPin.class;
 453  
     }
 454  
 
 455  
     public Object getPackage() {
 456  0
         return org.eclipse.uml2.uml.Package.class;
 457  
     }
 458  
 
 459  
     public Object getParameter() {
 460  0
         return Parameter.class;
 461  
     }
 462  
 
 463  
     public Object getParameterDirectionKind() {
 464  0
         return ParameterDirectionKind.class;
 465  
     }
 466  
 
 467  
     public Object getPartition() {
 468  0
         return ActivityPartition.class;
 469  
     }
 470  
 
 471  
     public Object getPackageImport() {
 472  0
         return PackageImport.class;
 473  
     }
 474  
 
 475  
     public Object getProfile() {
 476  0
         return Profile.class;
 477  
     }
 478  
 
 479  
     public Object getProperty() {
 480  0
         return Property.class;
 481  
     }
 482  
     
 483  
     public Object getPseudostate() {
 484  0
         return Pseudostate.class;
 485  
     }
 486  
 
 487  
     public Object getPseudostateKind() {
 488  0
         return PseudostateKind.class;
 489  
     }
 490  
 
 491  
     public Object getReception() {
 492  0
         return Reception.class;
 493  
     }
 494  
 
 495  
     public Object getReturnAction() {
 496  
         // TODO: Auto-generated method stub
 497  0
         throw new NotYetImplementedException();
 498  
     }
 499  
 
 500  
     public Object getScopeKind() {
 501  0
         throw new NotImplementedException(
 502  
                 "Not a UML2 model element"); //$NON-NLS-1$
 503  
     }
 504  
 
 505  
     public Object getSendAction() {
 506  0
         throw new NotImplementedException(
 507  
                 "Not a UML2 model element"); //$NON-NLS-1$
 508  
     }
 509  
 
 510  
     public Object getSendSignalAction() {
 511  0
         return SendSignalAction.class;
 512  
     }
 513  
 
 514  
     public Object getSignal() {
 515  0
         return Signal.class;
 516  
     }
 517  
 
 518  
     public Object getSimpleState() {
 519  0
         throw new NotImplementedException(
 520  
                 "Not a UML2 model element"); //$NON-NLS-1$
 521  
     }
 522  
 
 523  
     public Object getState() {
 524  0
         return State.class;
 525  
     }
 526  
 
 527  
     public Object getStateMachine() {
 528  0
         return StateMachine.class;
 529  
     }
 530  
 
 531  
     public Object getStateVertex() {
 532  
         // TODO: State & Vertex are independent classes in UML 2.1
 533  0
         return State.class;
 534  
     }
 535  
 
 536  
     public Object getStereotype() {
 537  0
         return Stereotype.class;
 538  
     }
 539  
 
 540  
     public Object getStimulus() {
 541  
         // TODO: Auto-generated method stub
 542  0
         throw new NotYetImplementedException();
 543  
     }
 544  
 
 545  
     public Object getStubState() {
 546  
         // TODO: gone in UML 2.1
 547  0
         return State.class;
 548  
     }
 549  
 
 550  
     public Object getSubactivityState() {
 551  
         // TODO: ActionState, CallState, and SubactivityState have been replaced
 552  
         // in UML 2.0 by explicitly modeled Actions
 553  0
         return State.class;
 554  
     }
 555  
 
 556  
     public Object getSubmachineState() {
 557  
         // TODO: gone in UML 2.1
 558  0
         return State.class;
 559  
     }
 560  
 
 561  
     public Object getSubsystem() {
 562  
         // Changed in UML 2.1 - Component with <<subsystem>> stereotype
 563  
         // TODO: We should deprecate this?
 564  0
         return Component.class;
 565  
     }
 566  
 
 567  
     public Object getSynchState() {
 568  
         // TODO: no separate SyncState in UML 2.1 - tfm
 569  0
         return State.class;
 570  
     }
 571  
 
 572  
     public Object getTagDefinition() {
 573  
         // TODO: In UML 2.x a TagDefinition has become a Property on a Stereotype
 574  
         // Anything that uses this will probably need to be reviewed/changed.
 575  
         // Just return Property for now.
 576  0
         return Property.class;
 577  
     }
 578  
 
 579  
     public Object getTaggedValue() {
 580  0
         throw new NotYetImplementedException();
 581  
     }
 582  
     
 583  
     public Object getTemplateArgument() {
 584  
         // TODO: Check that this is correct
 585  0
         return TemplateParameterSubstitution.class;
 586  
     }
 587  
 
 588  
     public Object getTemplateParameter() {
 589  0
         return TemplateParameter.class;
 590  
     }
 591  
     
 592  
     public Object getTerminateAction() {
 593  
         // TODO: Auto-generated method stub
 594  0
         throw new NotYetImplementedException();
 595  
     }
 596  
 
 597  
     public Object getTransition() {
 598  0
         return Transition.class;
 599  
     }
 600  
 
 601  
     public Object getUMLClass() {
 602  0
         return org.eclipse.uml2.uml.Class.class;
 603  
     }
 604  
 
 605  
     public Object getUsage() {
 606  0
         return Usage.class;
 607  
     }
 608  
 
 609  
     public Object getUseCase() {
 610  0
         return UseCase.class;
 611  
     }
 612  
 
 613  
     public Object getVisibilityKind() {
 614  0
         return VisibilityKind.class;
 615  
     }
 616  
 
 617  
     
 618  
     public Object getActionSequence() {
 619  
         // TODO: Need UML 2.x equivalent
 620  0
         return null /*ActionSequence.class*/;
 621  
     }
 622  
 
 623  
     public Object getArgument() {
 624  
         // TODO: Need UML 2.x equivalent
 625  0
         return null /*Argument.class*/;
 626  
     }
 627  
 
 628  
     public Object getAttributeLink() {
 629  
         // TODO: Need UML 2.x equivalent
 630  0
         return null /*AttributeLink.class*/;
 631  
     }
 632  
 
 633  
     public Object getCallEvent() {
 634  0
         return CallEvent.class;
 635  
     }
 636  
 
 637  
     public Object getChangeEvent() {
 638  0
         return ChangeEvent.class;
 639  
     }
 640  
 
 641  
     public Object getClassifierInState() {
 642  
         // TODO: Need UML 2.x equivalent
 643  0
         return null /*ClassifierInState.class*/;
 644  
     }
 645  
 
 646  
     public Object getCollaborationInstanceSet() {
 647  0
         throw new NotYetImplementedException();
 648  
     }
 649  
 
 650  
     public Object getDataValue() {
 651  0
         throw new NotYetImplementedException();
 652  
     }
 653  
 
 654  
     public Object getDataStoreNode() {
 655  0
         return DataStoreNode.class;
 656  
     }
 657  
 
 658  
     public Object getElement() {
 659  0
         return Element.class;
 660  
     }
 661  
 
 662  
     public Object getElementResidence() {
 663  
         // TODO: Need UML 2.x equivalent
 664  0
         return null /*ElementResidence.class*/;
 665  
     }
 666  
 
 667  
     public Object getExpression() {
 668  0
         return Expression.class;
 669  
     }
 670  
 
 671  
     public Object getExpansionNode() {
 672  0
         return ExpansionNode.class;
 673  
     }
 674  
 
 675  
     public Object getFeature() {
 676  0
         return Feature.class;
 677  
     }
 678  
 
 679  
     public Object getFlow() {
 680  
         // TODO: Need UML 2.x equivalent
 681  0
         return null /*Flow.class*/;
 682  
     }
 683  
 
 684  
     public Object getInteractionInstanceSet() {
 685  
         // TODO: Need UML 2.x equivalent
 686  0
         return null /*InteractionInstanceSet.class*/;
 687  
     }
 688  
 
 689  
     public Object getLinkEnd() {
 690  
         // TODO: Need UML 2.x equivalent
 691  0
         return null /*LinkEnd.class*/;
 692  
     }
 693  
 
 694  
     public Object getLinkObject() {
 695  
         // TODO: Need UML 2.x equivalent
 696  0
         return null /*LinkObject.class*/;
 697  
     }
 698  
 
 699  
     public Object getMethod() {
 700  
         // TODO: Need UML 2.x equivalent
 701  0
         return null /*Method.class*/;
 702  
     }
 703  
 
 704  
     public Object getMultiplicityRange() {
 705  0
         return MultiplicityElement.class;
 706  
     }
 707  
 
 708  
     public Object getPrimitiveType() {
 709  0
         return PrimitiveType.class;
 710  
     }
 711  
 
 712  
     public Object getRelationship() {
 713  0
         return Relationship.class;
 714  
     }
 715  
 
 716  
     public Object getSignalEvent() {
 717  0
         return SignalEvent.class;
 718  
     }
 719  
 
 720  
     public Object getStructuralFeature() {
 721  0
         return StructuralFeature.class;
 722  
     }
 723  
 
 724  
     public Object getSubsystemInstance() {
 725  
         // TODO: Need UML 2.x equivalent
 726  0
         return null /*SubsystemInstance.class*/;
 727  
     }
 728  
 
 729  
     public Object getTimeEvent() {
 730  0
         return TimeEvent.class;
 731  
     }
 732  
 
 733  
     public Object getUninterpretedAction() {
 734  
         // TODO: Need UML 2.x equivalent
 735  0
         return null /*UninterpretedAction.class*/;
 736  
     }
 737  
 
 738  
 }