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.EntityAttribute;
008
009/**
010 * Represents the attribute of a HIbernate entity.
011 *
012 * Metafacade interface to be used by AndroMDA cartridges.
013 */
014public interface HibernateEntityAttribute
015    extends EntityAttribute
016{
017    /**
018     * Indicates the metafacade type (used for metafacade mappings).
019     *
020     * @return boolean always <code>true</code>
021     */
022    public boolean isHibernateEntityAttributeMetaType();
023
024    /**
025     * TODO: Model Documentation for
026     * org.andromda.cartridges.hibernate.metafacades.HibernateEntityAttribute.concatColumnName
027     * @param prefix String
028     * @param name String
029     * @return String
030     */
031    public String concatColumnName(String prefix, String name);
032
033    /**
034     * TODO: Model Documentation for
035     * org.andromda.cartridges.hibernate.metafacades.HibernateEntityAttribute.formula
036     * @return String
037     */
038    public String getFormula();
039
040    /**
041     * TODO: Model Documentation for
042     * org.andromda.cartridges.hibernate.metafacades.HibernateEntityAttribute.fullyQualifiedHibernateType
043     * @return String
044     */
045    public String getFullyQualifiedHibernateType();
046
047    /**
048     * TODO: Model Documentation for
049     * org.andromda.cartridges.hibernate.metafacades.HibernateEntityAttribute.xmlTagName
050     * @return String
051     */
052    public String getXmlTagName();
053
054    /**
055     * TODO: Model Documentation for
056     * org.andromda.cartridges.hibernate.metafacades.HibernateEntityAttribute.containsEmbeddedObject
057     * @return boolean
058     */
059    public boolean isContainsEmbeddedObject();
060
061    /**
062     * Specifies whether a mapped column should be included in SQL INSERT statements.
063     * @return boolean
064     */
065    public boolean isInsertEnabled();
066
067    /**
068     * Whether or not this attribute should be lazily loaded.
069     * @return boolean
070     */
071    public boolean isLazy();
072
073    /**
074     * Specifies whether a mapped column should be included in SQL UPDATE statements.
075     * @return boolean
076     */
077    public boolean isUpdateEnabled();
078}