001// license-header java merge-point
002//
003// Attention: generated code (by Metafacade.vsl) - do not modify!
004//
005package org.andromda.cartridges.hibernate.metafacades;
006
007import org.andromda.metafacades.uml.EntityAssociationEnd;
008
009/**
010 * Represents an association end between Hibernate entities.
011 *
012 * Metafacade interface to be used by AndroMDA cartridges.
013 */
014public interface HibernateAssociationEnd
015    extends EntityAssociationEnd
016{
017    /**
018     * Indicates the metafacade type (used for metafacade mappings).
019     *
020     * @return boolean always <code>true</code>
021     */
022    public boolean isHibernateAssociationEndMetaType();
023
024    /**
025     * TODO: Model Documentation for
026     * org.andromda.cartridges.hibernate.metafacades.HibernateAssociationEnd.collectionIndexName
027     * @return String
028     */
029    public String getCollectionIndexName();
030
031    /**
032     * this will only apply for Maps, it will return the type of the attribute specified on the
033     * CollectionIndexName tagged value
034     * @return String
035     */
036    public String getCollectionIndexType();
037
038    /**
039     * TODO: Model Documentation for
040     * org.andromda.cartridges.hibernate.metafacades.HibernateAssociationEnd.collectionType
041     * @return String
042     */
043    public String getCollectionType();
044
045    /**
046     * The actual implementation of the collection type.
047     * @return String
048     */
049    public String getCollectionTypeImplementation();
050
051    /**
052     * TODO: Model Documentation for
053     * org.andromda.cartridges.hibernate.metafacades.HibernateAssociationEnd.embedXML
054     * @return String
055     */
056    public String getEmbedXML();
057
058    /**
059     * Stores the value indicating how a UML aggregation should be interpreted as cascade.
060     * @return String
061     */
062    public String getHibernateAggregationCascade();
063
064    /**
065     * Stores the hibernate cascade attribute of this association end.
066     * @return String
067     */
068    public String getHibernateCascade();
069
070    /**
071     * Stores the value indicating how a UML composition should be interpreted as cascade.
072     * @return String
073     */
074    public String getHibernateCompositionCascade();
075
076    /**
077     * TODO: Model Documentation for
078     * org.andromda.cartridges.hibernate.metafacades.HibernateAssociationEnd.orderByColumns
079     * @return String
080     */
081    public String getOrderByColumns();
082
083    /**
084     * This value will determine how Hibernate manages the asocciation on a many to one and one to
085     * one relation. It will tell hibernate how  to use outerJoins. Values: auto,false,true
086     * @return String
087     */
088    public String getOuterJoin();
089
090    /**
091     * TODO: Model Documentation for
092     * org.andromda.cartridges.hibernate.metafacades.HibernateAssociationEnd.sortType
093     * @return String
094     */
095    public String getSortType();
096
097    /**
098     * TODO: Model Documentation for
099     * org.andromda.cartridges.hibernate.metafacades.HibernateAssociationEnd.whereClause
100     * @return String
101     */
102    public String getWhereClause();
103
104    /**
105     * TODO: Model Documentation for
106     * org.andromda.cartridges.hibernate.metafacades.HibernateAssociationEnd.xmlTagName
107     * @return String
108     */
109    public String getXmlTagName();
110
111    /**
112     * TODO: Model Documentation for
113     * org.andromda.cartridges.hibernate.metafacades.HibernateAssociationEnd.bag
114     * @return boolean
115     */
116    public boolean isBag();
117
118    /**
119     * TODO: Model Documentation for
120     * org.andromda.cartridges.hibernate.metafacades.HibernateAssociationEnd.bidirectionalOrderedListChild
121     * @return boolean
122     */
123    public boolean isBidirectionalOrderedListChild();
124
125    /**
126     * TODO: Model Documentation for
127     * org.andromda.cartridges.hibernate.metafacades.HibernateAssociationEnd.bidirectionalOrderedListParent
128     * @return boolean
129     */
130    public boolean isBidirectionalOrderedListParent();
131
132    /**
133     * Whether or not the hibernate inverse attribute is true or false.
134     * @return boolean
135     */
136    public boolean isHibernateInverse();
137
138    /**
139     * TODO: Model Documentation for
140     * org.andromda.cartridges.hibernate.metafacades.HibernateAssociationEnd.indexedCollection
141     * @return boolean
142     */
143    public boolean isIndexedCollection();
144
145    /**
146     * TODO: Model Documentation for
147     * org.andromda.cartridges.hibernate.metafacades.HibernateAssociationEnd.lazy
148     * @return boolean
149     */
150    public boolean isLazy();
151
152    /**
153     * TODO: Model Documentation for
154     * org.andromda.cartridges.hibernate.metafacades.HibernateAssociationEnd.list
155     * @return boolean
156     */
157    public boolean isList();
158
159    /**
160     * TODO: Model Documentation for
161     * org.andromda.cartridges.hibernate.metafacades.HibernateAssociationEnd.map
162     * @return boolean
163     */
164    public boolean isMap();
165
166    /**
167     * Returns whether or not a one-to-one mapping should be the "primary" mapping for the one2one.
168     * It returns a true if this one2one end is an aggregation or a composite. If using the foriegn
169     * key association approach, this end will get the foreign key column definition. If using the
170     * primary key association approach, this end will get the independent primary key and the other
171     * end will get the dependent primary key (i.e. its primary key will be a foreign key to this
172     * table).
173     * @return boolean
174     */
175    public boolean isOne2OnePrimary();
176
177    /**
178     * TODO: Model Documentation for
179     * org.andromda.cartridges.hibernate.metafacades.HibernateAssociationEnd.owning
180     * @return boolean
181     */
182    public boolean isOwning();
183
184    /**
185     * TODO: Model Documentation for
186     * org.andromda.cartridges.hibernate.metafacades.HibernateAssociationEnd.set
187     * @return boolean
188     */
189    public boolean isSet();
190}