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.AttributeFacade;
008
009/**
010 * TODO: Model Documentation for org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade
011 *
012 * Metafacade interface to be used by AndroMDA cartridges.
013 */
014public interface EJB3SessionAttributeFacade
015    extends AttributeFacade
016{
017    /**
018     * Indicates the metafacade type (used for metafacade mappings).
019     *
020     * @return boolean always <code>true</code>
021     */
022    public boolean isEJB3SessionAttributeFacadeMetaType();
023
024    /**
025     * Returns a parameter string for org.jboss.seam.annotations.In annotation. Supported
026     * parameters:
027     * * value ? specifies the name of the context variable. Default to the name of the component
028     * attribute. Alternatively, specifies a JSF EL expression, surrounded by #{...}.
029     * * create ? specifies that Seam should instantiate the component with the same name as the
030     * context variable if the context variable is undefined (null) in all contexts. Default to
031     * false.
032     * * required ? specifies Seam should throw an exception if the context variable is undefined in
033     * all contexts.
034     * @return String
035     */
036    public String getSeamBijectionInParameters();
037
038    /**
039     * Returns a parameter string for org.jboss.seam.annotations.Logger annotation. Supported
040     * parameters:
041     * value ? specifies the name of the log category. Default to the name of the component class.
042     * @return String
043     */
044    public String getSeamBijectionLoggerParameters();
045
046    /**
047     * Returns a parameter string for org.jboss.seam.annotations.Out annotation. Supported
048     * parameters:
049     * * value ? specifies the name of the context variable. Default to the name of the component
050     * attribute.
051     * * required ? specifies Seam should throw an exception if the component attribute is null
052     * during outjection.
053     * * scope ? specifies the scope that Seam should bind the returned value to.
054     * @return String
055     */
056    public String getSeamBijectionOutParameters();
057
058    /**
059     * Returns a parameter string for org.jboss.seam.annotations.RequestParameter annotation.
060     * Supported parameters:
061     * * value ? specifies the name of the request parameter. Default to the name of the component
062     * attribute.
063     * @return String
064     */
065    public String getSeamBijectionRequestParameterParameters();
066
067    /**
068     * Returns a parameter string for org.jboss.seam.annotations.DataModel annotation. Supported
069     * parameters:
070     * * value ? name of the conversation context variable. Default to the attribute name.
071     * * scope ? if scope=ScopeType.PAGE is explicitly specified, the DataModel will be kept in the
072     * PAGE context.
073     * @return String
074     */
075    public String getSeamDataModelParameters();
076
077    /**
078     * Returns a parameter string for org.jboss.seam.annotations.DataModelSelection annotation.
079     * Supported parameters:
080     * * value ? name of the conversation context variable. Not needed if there is exactly one
081     * DataModel in the component.
082     * @return String
083     */
084    public String getSeamDataModelSelectionIndexParameters();
085
086    /**
087     * Returns a parameter string for org.jboss.seam.annotations.DataModelSelection annotation.
088     * Supported parameters:
089     * * value ? name of the conversation context variable. Not needed if there is exactly one
090     * DataModel in the component.
091     * @return String
092     */
093    public String getSeamDataModelSelectionParameters();
094
095    /**
096     * Gets the transaction type for this attribute (i.e. REQUIRED, etc)
097     * @return String
098     */
099    public String getTransactionType();
100
101    /**
102     * Returns true if this attribute is a seam component attribute, marked with one or more of the
103     * following annotations In, Out, Log, RequestParameter, DataModel, DatamodeSelection
104     * @return boolean
105     */
106    public boolean isSeamAttribute();
107
108    /**
109     * Returns true the attribute is modelled with the <<In>> stereotype indicating that it is a
110     * Seam component attribute and is to be injected from a context variable at the start of each
111     * component invocation.
112     * @return boolean
113     */
114    public boolean isSeamBijectionIn();
115
116    /**
117     * Returns true if stereotype <<Logger>> is set. Specifies that a component field is to be
118     * injected with an instance of org.jboss.seam.log.Log.
119     * @return boolean
120     */
121    public boolean isSeamBijectionLogger();
122
123    /**
124     * Returns true if the attribute is modelled with the <<Out>> stereotype indicating that it is a
125     * Seam component attribute and is to be outjected to a context variable at the end of each
126     * component invocation.
127     * @return boolean
128     */
129    public boolean isSeamBijectionOut();
130
131    /**
132     * Returns true if stereotype <<RequestParameter>> is set. Specifies that a component attribute
133     * is to be injected with the value of a request parameter. Basic type conversions are performed
134     * automatically.
135     * @return boolean
136     */
137    public boolean isSeamBijectionRequestParameter();
138
139    /**
140     * Returns true if the attribute of type List, Map, Set or Object[] is modelled with the
141     * <<DataModel>> stereotype indicating that it shall be exposed as a JSF DataModel into the
142     * scope of the owning component (or the EVENT scope if the owning component is STATELESS). In
143     * the case of Map, each row of the DataModel is a Map.Entry.
144     * @return boolean
145     */
146    public boolean isSeamDataModel();
147
148    /**
149     * Returns true if stereotype <<DataModelSelection>> is set. Injects the selected value from the
150     * JSF DataModel (this is the element of the underlying collection, or the map value).
151     * @return boolean
152     */
153    public boolean isSeamDataModelSelection();
154
155    /**
156     * Returns true if stereotype <<DataModelSelectionIndex>> is set. Exposes the selection index of
157     * the JSF DataModel as an attribute of the component (this is the row number of the underlying
158     * collection, or the map key).
159     * @return boolean
160     */
161    public boolean isSeamDataModelSelectionIndex();
162
163    /**
164     * Returns true if the <<Valid>> stereotype is modelled on seam component bean attribute to
165     * Indicates that the hibernate Validator recursively validate this and related objects when an
166     * action listener Seam component method with IfInvalid annotation is invoked.
167     * @return boolean
168     */
169    public boolean isSeamValidationValid();
170}