uba.db.column
Interface ColumnSpecification

All Known Implementing Classes:
CharColumnSpecification, ColumnSpecificationBehavior, IntegerColumnSpecification

public interface ColumnSpecification

Especifica como es una columna (su nombre, y sus constraints) y su "tipo".
Notar que el "tipo" esta especificado por la clase concreta que implementa esta interfaz, se pudo haber modelado el tipo explictamente (siendo este un "type object"), sin embargo como no es necesario cambiar el tipo dinamicamte ni agrupar instancias (dos de las razones para utilizar un type object) la complejidad agregada por el uso del type object no estaría del todo justificada.

Version:
$Revision: 1.3 $
See Also:
"Type Object pattern"

Method Summary
 Column asColumnFor(Table table)
           
 ColumnConstraint constraint()
          Retorna el constraint que existe sobre esta columna (si puede ser o no null -- o en un futuro si el valor debe estar dentro de un determinado rango--).
 java.lang.String dataTypeDisplayString()
          Retorna un string que representa el tipo de datos de la clase concreta de esta especificación de columna.
NOTA: este string debe ser utilizado para mostrar el tipo de la columna, nunca para derivar comportamiento en base a eso.
 boolean isNamed(java.lang.String nameToTest)
          Retorna true si la columna se llama name.
La implementación debe ignorar las mayuculas/minusculas si es necesario.
 java.lang.String name()
          Retorna el nombre de la columna.
 boolean notNull()
          Retorna true si la columna NO puede ser null.
Este método es un atajo para: constraint().notNull()
 ColumnReader readerFor(java.io.DataInput in)
          Retorna un ColumnReader especifico para leer la columna que representa esta especificación.
 ColumnWriter writerFor(java.io.DataOutput out)
          Retorna un ColumnWriter especifico para leer la columna que representa esta especificación.
 

Method Detail

name

java.lang.String name()
Retorna el nombre de la columna.


notNull

boolean notNull()
Retorna true si la columna NO puede ser null.
Este método es un atajo para: constraint().notNull()


constraint

ColumnConstraint constraint()
Retorna el constraint que existe sobre esta columna (si puede ser o no null -- o en un futuro si el valor debe estar dentro de un determinado rango--).


readerFor

ColumnReader readerFor(java.io.DataInput in)
Retorna un ColumnReader especifico para leer la columna que representa esta especificación.

Parameters:
in - el stream que utilizará el reader.

writerFor

ColumnWriter writerFor(java.io.DataOutput out)
Retorna un ColumnWriter especifico para leer la columna que representa esta especificación.

Parameters:
out - el stream que utilizará el reader.

isNamed

boolean isNamed(java.lang.String nameToTest)
Retorna true si la columna se llama name.
La implementación debe ignorar las mayuculas/minusculas si es necesario.

Parameters:
nameToTest - string con el nombre a chequear

dataTypeDisplayString

java.lang.String dataTypeDisplayString()
Retorna un string que representa el tipo de datos de la clase concreta de esta especificación de columna.
NOTA: este string debe ser utilizado para mostrar el tipo de la columna, nunca para derivar comportamiento en base a eso.


asColumnFor

Column asColumnFor(Table table)


Copyright © -2005 . All Rights Reserved.