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}