setNsPrefix(eNS_PREFIX);
setNsURI(eNS_URI);
// Obtain other dependent packages
ClassifiersPackage theClassifiersPackage = (ClassifiersPackage)EPackage.Registry.INSTANCE.getEPackage(ClassifiersPackage.eNS_URI);
AnnotationsPackage theAnnotationsPackage = (AnnotationsPackage)EPackage.Registry.INSTANCE.getEPackage(AnnotationsPackage.eNS_URI);
ContainersPackage theContainersPackage = (ContainersPackage)EPackage.Registry.INSTANCE.getEPackage(ContainersPackage.eNS_URI);
CorePackage theCorePackage = (CorePackage)EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI);
// Create type parameters
// Set bounds for type parameters
// Add supertypes to classes
namedElementEClass.getESuperTypes().add(this.getCommentable());
namespaceAwareElementEClass.getESuperTypes().add(this.getCommentable());
// Initialize classes and features; add operations and parameters
initEClass(commentableEClass, Commentable.class, "Commentable", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getCommentable_Comments(), ecorePackage.getEString(), "comments", null, 0, -1, Commentable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
EOperation op = addEOperation(commentableEClass, theClassifiersPackage.getConcreteClassifier(), "getConcreteClassifier", 0, 1, IS_UNIQUE, IS_ORDERED);
addEParameter(op, ecorePackage.getEString(), "name", 0, 1, IS_UNIQUE, IS_ORDERED);
op = addEOperation(commentableEClass, theClassifiersPackage.getConcreteClassifier(), "getConcreteClassifiers", 0, -1, IS_UNIQUE, IS_ORDERED);
addEParameter(op, ecorePackage.getEString(), "packageName", 0, 1, IS_UNIQUE, IS_ORDERED);
addEParameter(op, ecorePackage.getEString(), "classifierQuery", 0, 1, IS_UNIQUE, IS_ORDERED);
op = addEOperation(commentableEClass, theClassifiersPackage.getClass_(), "getLibClass", 0, 1, IS_UNIQUE, IS_ORDERED);
addEParameter(op, ecorePackage.getEString(), "name", 0, 1, IS_UNIQUE, IS_ORDERED);
op = addEOperation(commentableEClass, theClassifiersPackage.getInterface(), "getLibInterface", 0, 1, IS_UNIQUE, IS_ORDERED);
addEParameter(op, ecorePackage.getEString(), "name", 0, 1, IS_UNIQUE, IS_ORDERED);
addEOperation(commentableEClass, theClassifiersPackage.getClass_(), "getClassClass", 0, 1, IS_UNIQUE, IS_ORDERED);
addEOperation(commentableEClass, theClassifiersPackage.getClass_(), "getObjectClass", 0, 1, IS_UNIQUE, IS_ORDERED);
addEOperation(commentableEClass, theClassifiersPackage.getClass_(), "getStringClass", 0, 1, IS_UNIQUE, IS_ORDERED);
addEOperation(commentableEClass, theClassifiersPackage.getInterface(), "getAnnotationInterface", 0, 1, IS_UNIQUE, IS_ORDERED);
addEOperation(commentableEClass, theAnnotationsPackage.getAnnotationInstance(), "getContainingAnnotationInstance", 0, 1, IS_UNIQUE, IS_ORDERED);
addEOperation(commentableEClass, theClassifiersPackage.getAnonymousClass(), "getContainingAnonymousClass", 0, 1, IS_UNIQUE, IS_ORDERED);
addEOperation(commentableEClass, theClassifiersPackage.getConcreteClassifier(), "getContainingConcreteClassifier", 0, 1, IS_UNIQUE, IS_ORDERED);