biz.hammurapi.sql.columns
Class Column

java.lang.Object
  extended by biz.hammurapi.sql.columns.Column
All Implemented Interfaces:
ContextConfigurable, DomConfigurable, Attributable, java.io.Serializable, java.lang.Cloneable
Direct Known Subclasses:
BooleanColumn, ByteColumn, CharColumn, DoubleColumn, FloatColumn, IntColumn, LongColumn, ObjectColumn, ShortColumn

public abstract class Column
extends java.lang.Object
implements java.lang.Cloneable, ContextConfigurable, DomConfigurable, Attributable, java.io.Serializable

Base class for different column types

Version:
$Revision: 1.14 $
Author:
Pavel Vlasov
See Also:
Serialized Form

Field Summary
protected  boolean force
           
 
Constructor Summary
Column(java.lang.String name, boolean isPrimaryKey)
           
 
Method Summary
abstract  void clear()
          Sets field value to default and clears modified flag.
 void clearModified()
          Clears modified flag.
 java.lang.Object clone()
           
static java.lang.Class columnType(java.lang.String typeName)
           
 void configure(org.w3c.dom.Node configNode, Context context, java.lang.ClassLoader classLoader)
          Reads configuration from Node
protected  java.lang.String getAlignment()
           
 java.lang.Object getAttribute(java.lang.Object key)
           
 java.lang.String getLabel()
           
 ColumnChangeListener getListener()
           
 java.lang.String getName()
           
abstract  java.lang.Object getObjectValue(boolean originalValue)
          Returns column value as object
protected abstract  java.lang.String getType()
           
 java.lang.String getXmlName()
           
static boolean hasColumn(java.sql.ResultSet rs, java.lang.String name)
           
 boolean isModified()
           
 boolean isPrimaryKey()
           
 java.lang.String listName()
           
abstract  void load(java.lang.String textValue)
          Loads value from XML Element
protected  void onChange()
           
 int parameterize(java.sql.PreparedStatement ps, int idx, boolean force)
          Parameterizes prepared statement.
protected abstract  void parameterizeInternal(java.sql.PreparedStatement ps, int idx)
          Implement this method in subclasses.
abstract  void parameterizeOriginal(java.sql.PreparedStatement ps, int idx)
          Implement this method in subclasses.
 java.lang.Object removeAttribute(java.lang.Object key)
           
abstract  void set(Column source)
          Copies values from source column
 void setAttribute(java.lang.Object key, java.lang.Object value)
           
 void setForce(boolean force)
           
 void setLabel(java.lang.String label)
          Sets display label for column
 void setListener(ColumnChangeListener listener)
           
abstract  void setOriginal()
           
 void toDom(org.w3c.dom.Element owner, java.lang.String nodeName, boolean originalValue)
           
 void toSax(java.lang.String uri, org.xml.sax.ContentHandler contentHandler)
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface biz.hammurapi.config.ContextConfigurable
configure
 

Field Detail

force

protected boolean force
Constructor Detail

Column

public Column(java.lang.String name,
              boolean isPrimaryKey)
Parameters:
name - Column name
isPrimaryKey - 'true' if column is part of primary key
Method Detail

setOriginal

public abstract void setOriginal()

clearModified

public void clearModified()
Clears modified flag.


clear

public abstract void clear()
Sets field value to default and clears modified flag.


setListener

public void setListener(ColumnChangeListener listener)
Parameters:
listener - The listener to set.

getListener

public ColumnChangeListener getListener()
Returns:
Returns the listener.

onChange

protected void onChange()

listName

public java.lang.String listName()
Returns:
Column name if value was modified, null otherwise.

parameterize

public int parameterize(java.sql.PreparedStatement ps,
                        int idx,
                        boolean force)
                 throws java.sql.SQLException
Parameterizes prepared statement.

Parameters:
ps -
idx - Parameter index
force - If true column is treated a modified
Returns:
idx+1 if column was modified and prepared statement was parameterized, idx otherwise.
Throws:
java.sql.SQLException

parameterizeInternal

protected abstract void parameterizeInternal(java.sql.PreparedStatement ps,
                                             int idx)
                                      throws java.sql.SQLException
Implement this method in subclasses.

Throws:
java.sql.SQLException

parameterizeOriginal

public abstract void parameterizeOriginal(java.sql.PreparedStatement ps,
                                          int idx)
                                   throws java.sql.SQLException
Implement this method in subclasses.

Throws:
java.sql.SQLException

isPrimaryKey

public boolean isPrimaryKey()
Returns:
Returns the isPrimaryKey.

getName

public java.lang.String getName()
Returns:
name

getXmlName

public java.lang.String getXmlName()

getObjectValue

public abstract java.lang.Object getObjectValue(boolean originalValue)
Returns column value as object

Parameters:
originalValue - if true this method returns original value instead of current value.
Returns:

toDom

public void toDom(org.w3c.dom.Element owner,
                  java.lang.String nodeName,
                  boolean originalValue)
Parameters:
owner -

getType

protected abstract java.lang.String getType()

getAlignment

protected java.lang.String getAlignment()
Returns:

columnType

public static java.lang.Class columnType(java.lang.String typeName)
Parameters:
typeName -
Returns:
Column type for Java type

isModified

public boolean isModified()
Returns:
Returns the isModified.

setForce

public void setForce(boolean force)
Parameters:
force -

hasColumn

public static boolean hasColumn(java.sql.ResultSet rs,
                                java.lang.String name)
                         throws java.sql.SQLException
Parameters:
rs -
name -
Returns:
True if result set has a column with specified name.
Throws:
java.sql.SQLException

load

public abstract void load(java.lang.String textValue)
Loads value from XML Element

Parameters:
textValue - Text value

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Overrides:
clone in class java.lang.Object
Throws:
java.lang.CloneNotSupportedException

getLabel

public java.lang.String getLabel()
Returns:
display label for column

setLabel

public void setLabel(java.lang.String label)
Sets display label for column

Parameters:
label -

set

public abstract void set(Column source)
Copies values from source column

Parameters:
source -

setAttribute

public void setAttribute(java.lang.Object key,
                         java.lang.Object value)
Specified by:
setAttribute in interface Attributable

getAttribute

public java.lang.Object getAttribute(java.lang.Object key)
Specified by:
getAttribute in interface Attributable

removeAttribute

public java.lang.Object removeAttribute(java.lang.Object key)
Specified by:
removeAttribute in interface Attributable

configure

public void configure(org.w3c.dom.Node configNode,
                      Context context,
                      java.lang.ClassLoader classLoader)
               throws ConfigurationException
Description copied from interface: DomConfigurable
Reads configuration from Node

Specified by:
configure in interface DomConfigurable
classLoader - ClassLoader
Throws:
ConfigurationException

toSax

public void toSax(java.lang.String uri,
                  org.xml.sax.ContentHandler contentHandler)
           throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException


Copyright © 2003 Hammurapi Group. All Rights Reserved.