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.OperationFacade;
008
009/**
010 * Represents an operation in an entity EJB bean POJO.
011 *
012 * Metafacade interface to be used by AndroMDA cartridges.
013 */
014public interface EJB3OperationFacade
015    extends OperationFacade
016{
017    /**
018     * Indicates the metafacade type (used for metafacade mappings).
019     *
020     * @return boolean always <code>true</code>
021     */
022    public boolean isEJB3OperationFacadeMetaType();
023
024    /**
025     * The method call for the implementation operation.
026     * @return String
027     */
028    public String getImplementationCall();
029
030    /**
031     * The name of the operation used within the entity implementation.
032     * @return String
033     */
034    public String getImplementationName();
035
036    /**
037     * The signature for the implementation operation.
038     * @return String
039     */
040    public String getImplementationSignature();
041
042    /**
043     * True/false on whether or not this operation is an EJB business operation.  This returns true
044     * if the operation is not one of the following:
045     * Create Method
046     * Finder or Query Method
047     * Select Method
048     * @return boolean
049     */
050    public boolean isBusinessOperation();
051
052    /**
053     * Returns true if the operation has the <<CreateMethod>> stereotype.
054     * @return boolean
055     */
056    public boolean isCreateMethod();
057
058    /**
059     * Returns true if the operation is a finder or query operation.
060     * @return boolean
061     */
062    public boolean isFinderMethod();
063
064    /**
065     * Returns true if this operation is marked with any of the lifecycle callback stereotypes like
066     * PrePersist, PostPersist, PreRemove, PostRemove, PreUpdate, PostUpdate or PostLoad.
067     * @return boolean
068     */
069    public boolean isLifecycleCallback();
070
071    /**
072     * Returns true if the associated operation has the <<PostLoad>> stereotype.
073     * NOTE: The method signature must return void and have no args.
074     * @return boolean
075     */
076    public boolean isPostLoad();
077
078    /**
079     * Returns true if the associated operation has the <<PostPersist>> stereotype.
080     * NOTE: The method signature must return void and have no args.
081     * @return boolean
082     */
083    public boolean isPostPersist();
084
085    /**
086     * Returns true if the associated operation has the <<PostRemove>> stereotype.
087     * NOTE: The method signature must return void and have no args.
088     * @return boolean
089     */
090    public boolean isPostRemove();
091
092    /**
093     * Returns true if the associated operation has the <<PostUpdate>> stereotype.
094     * NOTE: The method signature must return void and have no args.
095     * @return boolean
096     */
097    public boolean isPostUpdate();
098
099    /**
100     * Returns true if the associated operation has the <<PrePersist>> stereotype.
101     * NOTE: The method signature must return void and have no args.
102     * @return boolean
103     */
104    public boolean isPrePersist();
105
106    /**
107     * Returns true if the associated operation has the <<PreRemove>> stereotype.
108     * NOTE: The method signature must return void and have no args.
109     * @return boolean
110     */
111    public boolean isPreRemove();
112
113    /**
114     * Returns true if the associated operation has the <<PreUpdate>> stereotype.
115     * NOTE: The method signature must return void and have no args.
116     * @return boolean
117     */
118    public boolean isPreUpdate();
119
120    /**
121     * True/false on whether or not this operation represents a select method.
122     * @return boolean
123     */
124    public boolean isSelectMethod();
125}