/* * $Id: PostingFieldBMPBean.java,v 1.9 2003/12/02 09:40:26 sigtryggur Exp $ * * Copyright (C) 2002 Idega hf. All Rights Reserved. * * This software is the proprietary information of Idega hf. * Use is subject to license terms. * */ package se.idega.idegaweb.commune.accounting.posting.data; import java.util.Collection; import javax.ejb.FinderException; import com.idega.data.GenericEntity; import com.idega.data.IDOQuery; /** * Holds descriptive information about fields in strings holding accounting information, * sent to external accounting systems. * * From Kravspecifikation Check & Peng 13.3 * @author Joakim * @see PostingField */ public class PostingFieldBMPBean extends GenericEntity implements PostingField { private static final String ENTITY_NAME = "cacc_posting_field"; private static final String COLUMN_CP_POSTING_STRING_ID = "CP_POSTING_STRING_ID"; private static final String COLUMN_ORDER_NR = "ORDER_NR"; private static final String COLUMN_FIELD_TITLE = "FIELD_TITLE"; private static final String COLUMN_LEN = "LEN"; private static final String COLUMN_JUSTIFICATION = "JUSTIFICATION"; private static final String COLUMN_MANDATORY = "MANDATORY"; private static final String COLUMN_PAD_CHAR = "PAD_CHAR"; private static final String COLUMN_FIELD_TYPE = "FIELD_TYPE"; private static final String FIELD_TYPE_ALPHA = "ALPHA"; private static final String FIELD_TYPE_NUMERIC = "NUMERIC"; private static final String FIELD_TYPE_ALPHA_NUMERIC = "ALPHANUM"; public static final int JUSTIFY_LEFT = 0; public static final int JUSTIFY_RIGHT = 1; /** * @see com.idega.data.IDOLegacyEntity#getEntityName() */ public String getEntityName() { return ENTITY_NAME; } /** * @see com.idega.data.IDOLegacyEntity#initializeAttributes() */ public void initializeAttributes() { addAttribute(getIDColumnName()); addAttribute(COLUMN_CP_POSTING_STRING_ID, "", true, true, java.lang.Integer.class); addAttribute(COLUMN_ORDER_NR, "", true, true, java.lang.Integer.class); addAttribute(COLUMN_FIELD_TITLE, "", true, true, java.lang.String.class, 1000); addAttribute(COLUMN_LEN, "", true, true, java.lang.Integer.class); addAttribute(COLUMN_JUSTIFICATION, "", true, true, java.lang.Integer.class); addAttribute(COLUMN_MANDATORY,"",true,true,java.lang.Boolean.class); addAttribute(COLUMN_PAD_CHAR, "", true, true, java.lang.String.class, 1); addAttribute(COLUMN_FIELD_TYPE, "", true, true, java.lang.String.class); addManyToOneRelationship(COLUMN_CP_POSTING_STRING_ID,PostingString.class); setNullable(COLUMN_CP_POSTING_STRING_ID, false); setNullable(COLUMN_ORDER_NR, false); setNullable(COLUMN_FIELD_TITLE, false); setNullable(COLUMN_LEN, false); setNullable(COLUMN_JUSTIFICATION, false); setNullable(COLUMN_MANDATORY, false); setNullable(COLUMN_PAD_CHAR, false); setNullable(COLUMN_FIELD_TYPE, false); } public int getPostingStringId() { return getIntColumnValue(COLUMN_CP_POSTING_STRING_ID); } public int getOrderNr() { return getIntColumnValue(COLUMN_ORDER_NR); } public String getFieldTitle() { return getStringColumnValue(COLUMN_FIELD_TITLE); } public int getLen() { return getIntColumnValue(COLUMN_LEN); } public int getJustification() { return getIntColumnValue(COLUMN_JUSTIFICATION); } public boolean getIsMandatory() { return getBooleanColumnValue(COLUMN_MANDATORY, false); } public char getPadChar() { return getCharColumnValue(COLUMN_PAD_CHAR); } public String getFieldType() { return getStringColumnValue(COLUMN_FIELD_TYPE); } public void setPostingStringId(int postingStringId) { setColumn(COLUMN_CP_POSTING_STRING_ID, postingStringId); } public void setOrderNr(int orderNr) { setColumn(COLUMN_ORDER_NR, orderNr); } public void setFieldTitle(String title) { setColumn(COLUMN_FIELD_TITLE, title); } public void setLen(int len) { setColumn(COLUMN_LEN, len); } public void setJustification(int justification) { setColumn(COLUMN_JUSTIFICATION, justification); } public void setIsMandatory(boolean mandatory) { setColumn(COLUMN_FIELD_TITLE, mandatory); } public void setPadChar(char padChar) { setColumn(COLUMN_PAD_CHAR, padChar); } public void setFieldTypeAlpha() { setColumn(COLUMN_FIELD_TYPE, FIELD_TYPE_ALPHA); } public void setFieldTypeNumeric() { setColumn(COLUMN_FIELD_TYPE, FIELD_TYPE_NUMERIC); } public void setFieldTypeAlphaNumeric() { setColumn(COLUMN_FIELD_TYPE, FIELD_TYPE_ALPHA_NUMERIC); } /** * Checks if field is alphabetic only * @author Kelly */ public boolean isAlpha() { return getStringColumnValue(COLUMN_FIELD_TYPE).compareTo(FIELD_TYPE_ALPHA) == 0 ? true : false; } /** * Checks if field is numeric only * @author Kelly */ public boolean isNumeric() { return getStringColumnValue(COLUMN_FIELD_TYPE).compareTo(FIELD_TYPE_NUMERIC) == 0 ? true : false; } /** * Checks if field is alphanumeric * @author Kelly */ public boolean isAlphaNumeric() { return getStringColumnValue(COLUMN_FIELD_TYPE).compareTo(FIELD_TYPE_ALPHA_NUMERIC) == 0 ? true : false; } public Collection ejbFindAllFieldsByPostingString(int PostingStringId) throws FinderException { IDOQuery sql = idoQuery(); sql.appendSelectAllFrom(this); sql.appendWhereEquals(COLUMN_CP_POSTING_STRING_ID, PostingStringId); sql.appendOrderBy(COLUMN_ORDER_NR); return idoFindPKsByQuery(sql); } public Object ejbFindFieldByPostingStringAndFieldNo(int PostingStringId, int fieldNo) throws FinderException { IDOQuery sql = idoQuery(); sql.appendSelectAllFrom(this); sql.appendWhereEquals(COLUMN_CP_POSTING_STRING_ID, PostingStringId); sql.appendAndEquals(COLUMN_ORDER_NR, fieldNo); return idoFindOnePKByQuery(sql); } }