package org.eclipse.emf.texo.test.model.samples.librarymodelclasses.model; import org.eclipse.emf.ecore.EAttribute; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EClassifier; import org.eclipse.emf.ecore.EEnum; import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.EReference; import org.eclipse.emf.ecore.EStructuralFeature; import org.eclipse.emf.texo.model.ModelFactory; import org.eclipse.emf.texo.model.ModelPackage; import org.eclipse.emf.texo.model.ModelResolver; import org.eclipse.emf.texo.server.store.DaoRegistry; import org.eclipse.emf.texo.test.model.base.identifiable.IdentifiableModelPackage; import org.eclipse.emf.texo.test.model.samples.library.Book; import org.eclipse.emf.texo.test.model.samples.library.BookCategory; import org.eclipse.emf.texo.test.model.samples.library.Library; import org.eclipse.emf.texo.test.model.samples.library.Writer; import org.eclipse.emf.texo.test.model.samples.library.dao.BookDao; import org.eclipse.emf.texo.test.model.samples.library.dao.LibraryDao; import org.eclipse.emf.texo.test.model.samples.library.dao.WriterDao; import org.eclipse.emf.texo.utils.ModelUtils; /** * The <b>Package</b> for the model '<em><b>library</b></em>'. It contains initialization code and access to the Factory * to instantiate types of this package. * * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> This is documentation on package level <!-- * end-model-doc --> * * @generated */ public class LibraryModelPackage extends ModelPackage { /** * Is set when the package has been initialized. * * @generated */ private static boolean isInitialized = false; /** * The package namespace URI. <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public static final String NS_URI = "http://www.eclipse.org/emf/texo/test/model/samples/library"; /** * The {@link ModelFactory} for this package. <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public static final LibraryModelFactory MODELFACTORY = new LibraryModelFactory(); /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public static final int BOOKCATEGORY_CLASSIFIER_ID = 3; /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public static final int BOOK_CLASSIFIER_ID = 0; /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public static final int BOOK_DB_ID_FEATURE_ID = 0; /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public static final int BOOK_DB_VERSION_FEATURE_ID = 1; /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public static final int BOOK_TITLE_FEATURE_ID = 2; /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public static final int BOOK_PAGES_FEATURE_ID = 3; /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public static final int BOOK_CATEGORY_FEATURE_ID = 4; /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public static final int BOOK_AUTHOR_FEATURE_ID = 5; /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public static final int LIBRARY_CLASSIFIER_ID = 1; /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public static final int LIBRARY_DB_ID_FEATURE_ID = 0; /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public static final int LIBRARY_DB_VERSION_FEATURE_ID = 1; /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public static final int LIBRARY_NAME_FEATURE_ID = 2; /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public static final int LIBRARY_WRITERS_FEATURE_ID = 3; /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public static final int LIBRARY_BOOKS_FEATURE_ID = 4; /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public static final int WRITER_CLASSIFIER_ID = 2; /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public static final int WRITER_DB_ID_FEATURE_ID = 0; /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public static final int WRITER_DB_VERSION_FEATURE_ID = 1; /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public static final int WRITER_NAME_FEATURE_ID = 2; /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public static final int WRITER_BOOKS_FEATURE_ID = 3; /** * The static member with the instance of this {@link ModelPackage}. <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public static final LibraryModelPackage INSTANCE = initialize(); /** * Initializes this {@link ModelPackage}. <!-- begin-user-doc --> <!-- end-user-doc --> * * @return an initialized instance of this class * * @generated */ public static LibraryModelPackage initialize() { if (isInitialized) { return (LibraryModelPackage) ModelResolver.getInstance().getModelPackage(NS_URI); } final LibraryModelPackage modelPackage = new LibraryModelPackage(); ModelResolver.getInstance().registerModelPackage(modelPackage); // read the model from the ecore file, the EPackage is registered in the EPackage.Registry // see the ModelResolver getEPackageRegistry method ModelUtils.readEPackagesFromFile(modelPackage); isInitialized = true; IdentifiableModelPackage.initialize(); // force the initialization of the EFactory proxy modelPackage.getEPackage(); // register the relation between a Class and its EClassifier ModelResolver.getInstance().registerClassModelMapping(Book.class, modelPackage.getBookEClass(), modelPackage); ModelResolver.getInstance().registerClassModelMapping(Library.class, modelPackage.getLibraryEClass(), modelPackage); ModelResolver.getInstance().registerClassModelMapping(Writer.class, modelPackage.getWriterEClass(), modelPackage); ModelResolver.getInstance().registerClassModelMapping(BookCategory.class, modelPackage.getBookCategoryEEnum(), modelPackage); DaoRegistry.getInstance().registerDao(Book.class, BookDao.class); DaoRegistry.getInstance().registerDao(Library.class, LibraryDao.class); DaoRegistry.getInstance().registerDao(Writer.class, WriterDao.class); // and return ourselves return modelPackage; } /** * Returns the {@link ModelFactory} of this ModelPackage. <!-- begin-user-doc --> <!-- end-user-doc --> * * @return the {@link LibraryModelFactory} instance. * @generated */ @Override public LibraryModelFactory getModelFactory() { return MODELFACTORY; } /** * Returns the nsUri of the {@link EPackage} managed by this Package instance. <!-- begin-user-doc --> <!-- * end-user-doc --> * * @return the nsUri of the EPackage * @generated */ @Override public String getNsURI() { return NS_URI; } /** * Returns the name of the ecore file containing the ecore model of the {@link EPackage} managed here. <!-- * begin-user-doc --> <!-- end-user-doc --> * * @return the name of the ecore file * @generated */ @Override public String getEcoreFileName() { return "library.ecore"; } /** * Returns the {@link EClass} '<em><b>Book</b></em>'. <!-- begin-user-doc --> <!-- end-user-doc --> * * @return an instance of the {@link EClass} '<em><b>Book</b></em>' * @generated */ public EClass getBookEClass() { return (EClass) getEPackage().getEClassifiers().get(BOOK_CLASSIFIER_ID); } /** * Returns the {@link EStructuralFeature} '<em><b>Book.title</b></em>'. <!-- begin-user-doc --> <!-- end-user-doc --> * * @return an instance of the {@link EStructuralFeature}: '<em><b>Book.title</b></em>'. * @generated */ public EAttribute getBook_Title() { return (EAttribute) getBookEClass().getEAllStructuralFeatures().get(BOOK_TITLE_FEATURE_ID); } /** * Returns the {@link EStructuralFeature} '<em><b>Book.pages</b></em>'. <!-- begin-user-doc --> <!-- end-user-doc --> * * @return an instance of the {@link EStructuralFeature}: '<em><b>Book.pages</b></em>'. * @generated */ public EAttribute getBook_Pages() { return (EAttribute) getBookEClass().getEAllStructuralFeatures().get(BOOK_PAGES_FEATURE_ID); } /** * Returns the {@link EStructuralFeature} '<em><b>Book.category</b></em>'. <!-- begin-user-doc --> <!-- end-user-doc * --> * * @return an instance of the {@link EStructuralFeature}: '<em><b>Book.category</b></em>'. * @generated */ public EAttribute getBook_Category() { return (EAttribute) getBookEClass().getEAllStructuralFeatures().get(BOOK_CATEGORY_FEATURE_ID); } /** * Returns the {@link EStructuralFeature} '<em><b>Book.author</b></em>'. <!-- begin-user-doc --> <!-- end-user-doc --> * * @return an instance of the {@link EStructuralFeature}: '<em><b>Book.author</b></em>'. * @generated */ public EReference getBook_Author() { return (EReference) getBookEClass().getEAllStructuralFeatures().get(BOOK_AUTHOR_FEATURE_ID); } /** * Returns the {@link EClass} '<em><b>Library</b></em>'. <!-- begin-user-doc --> <!-- end-user-doc --> * * @return an instance of the {@link EClass} '<em><b>Library</b></em>' * @generated */ public EClass getLibraryEClass() { return (EClass) getEPackage().getEClassifiers().get(LIBRARY_CLASSIFIER_ID); } /** * Returns the {@link EStructuralFeature} '<em><b>Library.name</b></em>'. <!-- begin-user-doc --> <!-- end-user-doc * --> * * @return an instance of the {@link EStructuralFeature}: '<em><b>Library.name</b></em>'. * @generated */ public EAttribute getLibrary_Name() { return (EAttribute) getLibraryEClass().getEAllStructuralFeatures().get(LIBRARY_NAME_FEATURE_ID); } /** * Returns the {@link EStructuralFeature} '<em><b>Library.writers</b></em>'. <!-- begin-user-doc --> <!-- end-user-doc * --> * * @return an instance of the {@link EStructuralFeature}: '<em><b>Library.writers</b></em>'. * @generated */ public EReference getLibrary_Writers() { return (EReference) getLibraryEClass().getEAllStructuralFeatures().get(LIBRARY_WRITERS_FEATURE_ID); } /** * Returns the {@link EStructuralFeature} '<em><b>Library.books</b></em>'. <!-- begin-user-doc --> <!-- end-user-doc * --> * * @return an instance of the {@link EStructuralFeature}: '<em><b>Library.books</b></em>'. * @generated */ public EReference getLibrary_Books() { return (EReference) getLibraryEClass().getEAllStructuralFeatures().get(LIBRARY_BOOKS_FEATURE_ID); } /** * Returns the {@link EClass} '<em><b>Writer</b></em>'. <!-- begin-user-doc --> <!-- end-user-doc --> * * @return an instance of the {@link EClass} '<em><b>Writer</b></em>' * @generated */ public EClass getWriterEClass() { return (EClass) getEPackage().getEClassifiers().get(WRITER_CLASSIFIER_ID); } /** * Returns the {@link EStructuralFeature} '<em><b>Writer.name</b></em>'. <!-- begin-user-doc --> <!-- end-user-doc --> * * @return an instance of the {@link EStructuralFeature}: '<em><b>Writer.name</b></em>'. * @generated */ public EAttribute getWriter_Name() { return (EAttribute) getWriterEClass().getEAllStructuralFeatures().get(WRITER_NAME_FEATURE_ID); } /** * Returns the {@link EStructuralFeature} '<em><b>Writer.books</b></em>'. <!-- begin-user-doc --> <!-- end-user-doc * --> * * @return an instance of the {@link EStructuralFeature}: '<em><b>Writer.books</b></em>'. * @generated */ public EReference getWriter_Books() { return (EReference) getWriterEClass().getEAllStructuralFeatures().get(WRITER_BOOKS_FEATURE_ID); } /** * Returns the EEnum '<em><b>BookCategory</b></em>'. <!-- begin-user-doc --> <!-- end-user-doc --> * * @return an instance of the EEnum representing '<em><b>BookCategory</b></em>' * @generated */ public EEnum getBookCategoryEEnum() { return (EEnum) getEPackage().getEClassifiers().get(BOOKCATEGORY_CLASSIFIER_ID); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @param eClassifier * the {@link EClassifier} * @return the class implementing a specific {@link EClass}. * @generated */ @Override public Class<?> getEClassifierClass(EClassifier eClassifier) { switch (eClassifier.getClassifierID()) { case BOOK_CLASSIFIER_ID: return Book.class; case LIBRARY_CLASSIFIER_ID: return Library.class; case WRITER_CLASSIFIER_ID: return Writer.class; case BOOKCATEGORY_CLASSIFIER_ID: return BookCategory.class; default: throw new IllegalArgumentException("The EClassifier '" + eClassifier + "' is not defined in this EPackage"); } } }