org.erights.e.elib.tables
Class ScalarColumn

java.lang.Object
  |
  +--org.erights.e.elib.tables.Column
        |
        +--org.erights.e.elib.tables.ScalarColumn
All Implemented Interfaces:
Cloneable

class ScalarColumn
extends Column

Author:
Mark S. Miller

Field Summary
private  Object myArray
           
 
Constructor Summary
(package private) ScalarColumn(Class memberType, int capacity)
           
private ScalarColumn(Object array)
           
 
Method Summary
(package private)  int capacity()
           
protected  Object clone()
          Argument defaults to memberType()
protected  Column diverge(Class membType)
          A shallow copy of the column.
(package private)  Object get(int pos)
           
(package private)  Class memberType()
          All the members of the column must conform to this type
(package private)  Column newVacant(int capacity)
          Makes a new column just like this one, except of the specified size and without any members.
(package private)  void put(int pos, Object value)
           
(package private)  void vacate(int pos)
          Stop pointing at an object from this pos.
static Column values(Class memberType, int capacity)
          Make a value-column that can only hold values that conform to 'memberType' and has 'capacity' positions.
static Column values(int capacity)
          memberType defaults to Object
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

myArray

private final Object myArray
Constructor Detail

ScalarColumn

ScalarColumn(Class memberType,
             int capacity)

ScalarColumn

private ScalarColumn(Object array)
Method Detail

diverge

protected Column diverge(Class membType)
Description copied from class: Column
A shallow copy of the column. The members are shared, not copied. The new Column is restricted to only holding members of type membType.

Specified by:
diverge in class Column

get

Object get(int pos)
Specified by:
get in class Column

memberType

Class memberType()
Description copied from class: Column
All the members of the column must conform to this type

Specified by:
memberType in class Column

newVacant

Column newVacant(int capacity)
Description copied from class: Column
Makes a new column just like this one, except of the specified size and without any members.

Specified by:
newVacant in class Column

capacity

int capacity()
Specified by:
capacity in class Column

put

void put(int pos,
         Object value)
Specified by:
put in class Column

vacate

void vacate(int pos)
Description copied from class: Column
Stop pointing at an object from this pos. If this is a scalar column, does nothing

Specified by:
vacate in class Column

clone

protected Object clone()
Argument defaults to memberType()

Overrides:
clone in class Object
Returns:
a clone of this instance.
See Also:
java.lang.Cloneable

values

public static Column values(int capacity)
memberType defaults to Object


values

public static Column values(Class memberType,
                            int capacity)
Make a value-column that can only hold values that conform to 'memberType' and has 'capacity' positions. If the memberType is a scalar type, the column will represent these values unboxed.



comments?