001// license-header java merge-point
002//
003// Attention: generated code (by Metafacade.vsl) - do not modify!
004//
005package org.andromda.cartridges.ejb3.metafacades;
006
007import org.andromda.metafacades.uml.ClassifierFacade;
008
009/**
010 * Metafacade for a persistence context definition
011 *
012 * Metafacade interface to be used by AndroMDA cartridges.
013 */
014public interface EJB3PersistenceContextFacade
015    extends ClassifierFacade
016{
017    /**
018     * Indicates the metafacade type (used for metafacade mappings).
019     *
020     * @return boolean always <code>true</code>
021     */
022    public boolean isEJB3PersistenceContextFacadeMetaType();
023
024    /**
025     * Specifies whether the persistence context for this EntityManager is transaction scoped or
026     * extended.  This is derived from the andromda.service.persistence.cotnext.unit.type tag on the
027     * PersistenceContext class referenced by dependency.
028     * @return String
029     */
030    public String getContextType();
031
032    /**
033     * Returns the datasource specified via the andromda.service.persistence.context.datasource tag
034     * on the PersistenceContext class referenced by dependency.
035     * @return String
036     */
037    public String getDatasource();
038
039    /**
040     * Returns the persistence context unit name for the injected EntityManger.  This looks up the
041     * andromda.service.persistence.context.unit.name on the PersistenceContext class, referenced by
042     * dependency and is only required if multiple persistence units exists.
043     * @return String
044     */
045    public String getUnitName();
046}