001: //** Copyright Statement ***************************************************
002: //The Salmon Open Framework for Internet Applications (SOFIA)
003: // Copyright (C) 1999 - 2002, Salmon LLC
004: //
005: // This program is free software; you can redistribute it and/or
006: // modify it under the terms of the GNU General Public License version 2
007: // as published by the Free Software Foundation;
008: //
009: // This program is distributed in the hope that it will be useful,
010: // but WITHOUT ANY WARRANTY; without even the implied warranty of
011: // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
012: // GNU General Public License for more details.
013: //
014: // You should have received a copy of the GNU General Public License
015: // along with this program; if not, write to the Free Software
016: // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
017: //
018: // For more information please visit http://www.salmonllc.com
019: //** End Copyright Statement ***************************************************
020: package com.salmonllc.sql;
021:
022: /////////////////////////
023: //$Archive: /SOFIA/SourceCode/com/salmonllc/sql/DSColumnDescriptor.java $
024: //$Author: Dan $
025: //$Revision: 16 $
026: //$Modtime: 10/29/04 11:15a $
027: /////////////////////////
028:
029: import java.lang.reflect.*;
030: import java.util.Vector;
031:
032: /**
033: * This class is public as an implementation detail. It should not be used outside the framework.
034: */
035: public class DSColumnDescriptor implements java.io.Serializable {
036: private String _table;
037: private String _column;
038: private int _type;
039: private boolean _primaryKey;
040: private boolean _updateable;
041: private boolean _autoIncrement;
042: private String _internalName;
043: private java.text.Format _format;
044: private boolean _checkConcurrency = true;
045: private int _useBind = DataStoreBuffer.BIND_DEFAULT;
046: private Method _setMethod, _getMethod;
047: private Method[] _parentGetMethods;
048: private Class _propertyClass;
049: private Vector _validationRules;
050: private BeanDataStore.BeanClassInfo _beanInfo;
051:
052: public DSColumnDescriptor() {
053: super ();
054: }
055:
056: public DSColumnDescriptor(String table, String column, int type,
057: boolean primaryKey, boolean updateable) {
058: _table = table;
059: _column = column;
060: _type = type;
061: _primaryKey = primaryKey;
062: _updateable = updateable;
063: }
064:
065: public String getColumn() {
066: return _column;
067: }
068:
069: public boolean getConcurrency() {
070: return _checkConcurrency;
071: }
072:
073: public java.text.Format getFormat() {
074: return _format;
075: }
076:
077: public Method getGetMethod() {
078: return _getMethod;
079: }
080:
081: public String getInternalName() {
082: return _internalName;
083: }
084:
085: public Class getPropertyClass() {
086: return _propertyClass;
087: }
088:
089: public Method getSetMethod() {
090: return _setMethod;
091: }
092:
093: public String getTable() {
094: return _table;
095: }
096:
097: public int getType() {
098: return _type;
099: }
100:
101: public int getUseBind() {
102: return _useBind;
103: }
104:
105: public boolean isPrimaryKey() {
106: return _primaryKey;
107: }
108:
109: public boolean isUpdateable() {
110: return _updateable;
111: }
112:
113: public void setColumn(String column) {
114: _column = column;
115: }
116:
117: public void setConcurrency(boolean truefalse) {
118: _checkConcurrency = truefalse;
119: }
120:
121: public void setFormat(java.text.Format format) {
122: _format = format;
123: }
124:
125: public void setGetMethod(Method newGetMethod) {
126: _getMethod = newGetMethod;
127: }
128:
129: public void setInternalName(String internalName) {
130: _internalName = internalName;
131: }
132:
133: public void setPrimaryKey(boolean primaryKey) {
134: _primaryKey = primaryKey;
135: }
136:
137: public void setPropertyClass(Class newPropertyClass) {
138: _propertyClass = newPropertyClass;
139: }
140:
141: public void setSetMethod(Method newSetMethod) {
142: _setMethod = newSetMethod;
143: }
144:
145: public void setTable(String table) {
146: _table = table;
147: }
148:
149: public void setType(int type) {
150: _type = type;
151: }
152:
153: public void setUpdateable(boolean updateable) {
154: _updateable = updateable;
155: }
156:
157: public void setUseBind(int bind) {
158: _useBind = bind;
159: }
160:
161: public void setAutoIncrement(boolean autoInc) {
162: _autoIncrement = autoInc;
163: }
164:
165: public boolean isAutoIncrement() {
166: return _autoIncrement;
167: }
168:
169: public String toString() {
170: return " Table: " + _table + " Column: " + _column
171: + " InternalName: " + _internalName;
172: }
173:
174: public int addRule(ValidationRule rule) {
175: if (_validationRules == null)
176: _validationRules = new Vector();
177: _validationRules.add(rule);
178: return _validationRules.size() - 1;
179: }
180:
181: public void clearValidationRules() {
182: _validationRules = null;
183: }
184:
185: public int getRuleCount() {
186: if (_validationRules == null)
187: return 0;
188: else
189: return _validationRules.size();
190: }
191:
192: public ValidationRule getRule(int no) {
193: return (ValidationRule) _validationRules.elementAt(no);
194: }
195:
196: public Method[] getParentGetMethods() {
197: return _parentGetMethods;
198: }
199:
200: public void setParentGetMethods(Method[] parentGetMethods) {
201: _parentGetMethods = parentGetMethods;
202: }
203:
204: public BeanDataStore.BeanClassInfo getBeanInfo() {
205: return _beanInfo;
206: }
207:
208: public void setBeanInfo(BeanDataStore.BeanClassInfo beanInfo) {
209: _beanInfo = beanInfo;
210: }
211: }
|