001// license-header java merge-point
002//
003// Attention: generated code (by Metafacade.vsl) - do not modify!
004//
005package org.andromda.metafacades.uml;
006
007/**
008 * Represents an attribute of an entity.
009 *
010 * Metafacade interface to be used by AndroMDA cartridges.
011 */
012public interface EntityAttribute
013    extends AttributeFacade
014{
015    /**
016     * Indicates the metafacade type (used for metafacade mappings).
017     *
018     * @return boolean always <code>true</code>
019     */
020    public boolean isEntityAttributeMetaType();
021
022    /**
023     * The name of the index to create on a column that persists the entity attribute.
024     * @return String
025     */
026    public String getColumnIndex();
027
028    /**
029     * The length of the column that persists this entity attribute.
030     * @return String
031     */
032    public String getColumnLength();
033
034    /**
035     * The name of the table column to which this entity is mapped.
036     * @return String
037     */
038    public String getColumnName();
039
040    /**
041     * The PIM to language specific mappings for JDBC.
042     * @return TypeMappings
043     */
044    public TypeMappings getJdbcMappings();
045
046    /**
047     * The JDBC type for this entity attribute.
048     * @return String
049     */
050    public String getJdbcType();
051
052    /**
053     * The SQL mappings (i.e. the mappings which provide PIM to SQL mappings).
054     * @return TypeMappings
055     */
056    public TypeMappings getSqlMappings();
057
058    /**
059     * The SQL type for this attribute.
060     * @return String
061     */
062    public String getSqlType();
063
064    /**
065     * The name of the unique-key that this unique attribute belongs
066     * @return String
067     */
068    public String getUniqueGroup();
069
070    /**
071     * True if this attribute is an identifier for its entity.
072     * @return boolean
073     */
074    public boolean isIdentifier();
075
076    /**
077     * Indicates this attribute should be ignored by the persistence layer.
078     * @return boolean
079     */
080    public boolean isTransient();
081}