/** * NumerologicalName.java * Created On 2007, May 3, 2007 1:18:26 PM * @author E. Rajasekar */ package app.astrosoft.persistence; import java.io.Serializable; import javax.persistence.*; import app.astrosoft.consts.AstrosoftTableColumn; import app.astrosoft.ui.table.ColumnMetaData; import app.astrosoft.ui.table.DefaultColumnMetaData; import app.astrosoft.ui.table.TableRowData; import app.astrosoft.util.AstroUtil; @NamedQueries({ @NamedQuery( name = NumerologicalName.FIND_ALL_NAMES, query = NumerologicalName.SELECT_NAME_SQL + NumerologicalName.ORDER_BY ) }) @Entity(name = "NumerologicalName") @Table(name = "NUMERO_NAME") public class NumerologicalName implements Serializable, TableRowData { private static final long serialVersionUID = 1L; public static final String FIND_ALL_NAMES = "findAllNames"; public static final String SELECT_NAME_SQL = "select n from NumerologicalName n "; public static final String ORDER_BY = " order by name "; @Id @GeneratedValue @Column(name = "NAME_ID") private Long nameId; @Column(name = "NAME" , unique=true) private String name; @Column(name = "NUMERO_VALUE") private int numeroVal = -1; @Column(name = "NUMERO_NUMBER") private int numeroNum = -1; private NumerologicalName() { } public NumerologicalName(String name) { this.setName(name); setNumeroVal(AstroUtil.computeNumeroVal(name)); } public void setNameId(Long nameId) { this.nameId = nameId; } public Long getNameId() { return nameId; } public void setName(String name) { this.name = name.toUpperCase(); } public String getName() { return name; } private void setNumeroVal(int numerologicalValue) { this.numeroVal = numerologicalValue; this.numeroNum = AstroUtil.toNumeroNum(numerologicalValue); } public int getNumeroVal() { return numeroVal; } public int getNumeroNum() { return numeroNum; } @Override public String toString() { StringBuilder sb = new StringBuilder(name); sb.append(" : "); sb.append(numeroVal); sb.append(" : "); sb.append(numeroNum); sb.append("\n"); return sb.toString(); } public Object getColumnData(AstrosoftTableColumn col) { switch(col) { case Name: return getName(); case NumeroValue: return getNumeroVal(); case NumeroNumber: return getNumeroNum(); } return null; } private static ColumnMetaData columnMetaData = new DefaultColumnMetaData() { { super.setColumns(AstrosoftTableColumn.Name, AstrosoftTableColumn.NumeroValue, AstrosoftTableColumn.NumeroNumber); localizeColumns(); } }; public static ColumnMetaData getColumnMetaData() { return columnMetaData; } }