org.apache.ojb.odmg.collections
Class DListImpl

java.lang.Object
  extended byjava.util.AbstractCollection
      extended byjava.util.AbstractList
          extended byorg.apache.ojb.odmg.collections.DListImpl
All Implemented Interfaces:
java.util.Collection, DArray, DCollection, DList, java.util.List, ManageableCollection, java.io.Serializable
Direct Known Subclasses:
DBagImpl

public class DListImpl
extends java.util.AbstractList
implements DList, DArray, ManageableCollection, java.io.Serializable

Insert the type's description here. Creation date: (10.02.2001 20:50:26)

Author:
Thomas Mahler
See Also:
Serialized Form

Field Summary
protected  PBKey pbKey
          PBKey this DList belongs to.
 
Fields inherited from class java.util.AbstractList
modCount
 
Constructor Summary
DListImpl()
          DListImpl constructor comment.
DListImpl(int theId, int theSize)
          DListImpl constructor comment.
DListImpl(PBKey pbKey)
          DListImpl constructor comment.
 
Method Summary
 void add(int index, java.lang.Object element)
          Inserts the specified element at the specified position in this list (optional operation).
 void afterStore(PersistenceBroker broker)
          A callback method to implement 'removal-aware' (track removed objects and delete them by its own) collection implementations.
 DList concat(DList otherList)
          Creates a new DList object that contains the contents of this DList object concatenated with the contents of the otherList object.
 boolean existsElement(java.lang.String predicate)
          Determines whether there is an element of the collection that evaluates to true for the predicate.
protected  int generateNewId()
          return a unique id for PK
 java.lang.Object get(int index)
          Returns the element at the specified position in this list.
 java.util.Vector getElements()
          Insert the method's description here.
 int getId()
          Lazily return the Id, no point in precomputing it.
 PBKey getPBKey()
           
 int getSize()
          Gets the size.
 java.util.Iterator iterator()
          Returns an iterator over the elements in this collection.
 java.util.ListIterator listIterator()
          Returns a list iterator of the elements in this list (in proper sequence).
 java.util.ListIterator listIterator(int index)
          Returns a list iterator of the elements in this list (in proper sequence), starting at the specified position in this list.
 void ojbAdd(java.lang.Object anObject)
          add a single Object to the Collection.
 void ojbAddAll(ManageableCollection otherCollection)
          adds a Collection to this collection.
 java.util.Iterator ojbIterator()
          returns an Iterator over all elements in the collection.
 DCollection query(java.lang.String predicate)
          Evaluate the boolean query predicate for each element of the collection and return a new collection that contains each element that evaluated to true.
 java.lang.Object remove(int index)
          Removes the element at the specified position in this list (optional operation).
 void resize(int newSize)
          Resize the array to have newSize elements.
 java.util.Iterator select(java.lang.String predicate)
          Access all of the elements of the collection that evaluate to true for the provided query predicate.
 java.lang.Object selectElement(java.lang.String predicate)
          Selects the single element of the collection for which the provided OQL query predicate is true.
 void setElements(java.util.Vector elements)
          Sets the elements.
 void setId(int id)
          Sets the id.
 void setPBKey(PBKey pbKey)
           
 void setSize(int size)
          Sets the size.
 int size()
          Returns the number of elements in this collection.
 
Methods inherited from class java.util.AbstractList
add, addAll, clear, equals, hashCode, indexOf, lastIndexOf, removeRange, set, subList
 
Methods inherited from class java.util.AbstractCollection
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Collection
add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, remove, removeAll, retainAll, toArray, toArray
 
Methods inherited from interface java.util.List
add, addAll, addAll, clear, contains, containsAll, equals, hashCode, indexOf, isEmpty, lastIndexOf, remove, removeAll, retainAll, set, subList, toArray, toArray
 

Field Detail

pbKey

protected PBKey pbKey
PBKey this DList belongs to.

Constructor Detail

DListImpl

public DListImpl()
DListImpl constructor comment.


DListImpl

public DListImpl(PBKey pbKey)
DListImpl constructor comment.


DListImpl

public DListImpl(int theId,
                 int theSize)
DListImpl constructor comment.

Method Detail

getPBKey

public PBKey getPBKey()

setPBKey

public void setPBKey(PBKey pbKey)

add

public void add(int index,
                java.lang.Object element)
Inserts the specified element at the specified position in this list (optional operation). Shifts the element currently at that position (if any) and any subsequent elements to the right (adds one to their indices).

Specified by:
add in interface java.util.List
Parameters:
index - index at which the specified element is to be inserted.
element - element to be inserted.
Throws:
java.lang.UnsupportedOperationException - if the add method is not supported by this list.
java.lang.ClassCastException - if the class of the specified element prevents it from being added to this list.
java.lang.IllegalArgumentException - if some aspect of the specified element prevents it from being added to this list.
java.lang.IndexOutOfBoundsException - if the index is out of range (index < 0 || index > size()).

remove

public java.lang.Object remove(int index)
Removes the element at the specified position in this list (optional operation). Shifts any subsequent elements to the left (subtracts one from their indices). Returns the element that was removed from the list.

This implementation always throws an UnsupportedOperationException.

Specified by:
remove in interface java.util.List
Parameters:
index - the index of the element to remove.
Returns:
the element previously at the specified position.
Throws:
java.lang.UnsupportedOperationException - if the remove method is not supported by this list.
java.lang.IndexOutOfBoundsException - if the specified index is out of range (index < 0 || index >= size()).

concat

public DList concat(DList otherList)
Creates a new DList object that contains the contents of this DList object concatenated with the contents of the otherList object.

Specified by:
concat in interface DList
Parameters:
otherList - The list whose elements are placed at the end of the list returned by this method.
Returns:
A new DList that is the concatenation of this list and the list referenced by otherList.

existsElement

public boolean existsElement(java.lang.String predicate)
                      throws QueryInvalidException
Determines whether there is an element of the collection that evaluates to true for the predicate.

Specified by:
existsElement in interface DCollection
Parameters:
predicate - An OQL boolean query predicate.
Returns:
True if there is an element of the collection that evaluates to true for the predicate, otherwise false.
Throws:
QueryInvalidException - The query predicate is invalid.

generateNewId

protected int generateNewId()
return a unique id for PK


get

public java.lang.Object get(int index)
Returns the element at the specified position in this list.

Specified by:
get in interface java.util.List
Parameters:
index - index of element to return.
Returns:
the element at the specified position in this list.
Throws:
java.lang.IndexOutOfBoundsException - if the index is out of range (index < 0 || index >= size()).

getElements

public java.util.Vector getElements()
Insert the method's description here. Creation date: (10.02.2001 20:53:01)

Returns:
java.util.Vector

getId

public int getId()
Lazily return the Id, no point in precomputing it.

Returns:
int

iterator

public java.util.Iterator iterator()
Returns an iterator over the elements in this collection. There are no guarantees concerning the order in which the elements are returned (unless this collection is an instance of some class that provides a guarantee).

Specified by:
iterator in interface java.util.Collection
Returns:
an Iterator over the elements in this collection

listIterator

public java.util.ListIterator listIterator()
Returns a list iterator of the elements in this list (in proper sequence).

Specified by:
listIterator in interface java.util.List
Returns:
a list iterator of the elements in this list (in proper sequence).

listIterator

public java.util.ListIterator listIterator(int index)
Returns a list iterator of the elements in this list (in proper sequence), starting at the specified position in this list. The specified index indicates the first element that would be returned by an initial call to the next method. An initial call to the previous method would return the element with the specified index minus one.

Specified by:
listIterator in interface java.util.List
Parameters:
index - index of first element to be returned from the list iterator (by a call to the next method).
Returns:
a list iterator of the elements in this list (in proper sequence), starting at the specified position in this list.
Throws:
java.lang.IndexOutOfBoundsException - if the index is out of range (index < 0 || index > size()).

query

public DCollection query(java.lang.String predicate)
                  throws QueryInvalidException
Evaluate the boolean query predicate for each element of the collection and return a new collection that contains each element that evaluated to true.

Specified by:
query in interface DCollection
Parameters:
predicate - An OQL boolean query predicate.
Returns:
A new collection containing the elements that evaluated true for the predicate.
Throws:
QueryInvalidException - The query predicate is invalid.

select

public java.util.Iterator select(java.lang.String predicate)
                          throws QueryInvalidException
Access all of the elements of the collection that evaluate to true for the provided query predicate.

Specified by:
select in interface DCollection
Parameters:
predicate - An OQL boolean query predicate.
Returns:
An iterator used to iterate over the elements that evaluated true for the predicate.
Throws:
QueryInvalidException - The query predicate is invalid.

selectElement

public java.lang.Object selectElement(java.lang.String predicate)
                               throws QueryInvalidException
Selects the single element of the collection for which the provided OQL query predicate is true.

Specified by:
selectElement in interface DCollection
Parameters:
predicate - An OQL boolean query predicate.
Returns:
The element that evaluates to true for the predicate. If no element evaluates to true, null is returned.
Throws:
QueryInvalidException - The query predicate is invalid.

size

public int size()
Returns the number of elements in this collection. If this collection contains more than Integer.MAX_VALUE elements, returns Integer.MAX_VALUE.

Specified by:
size in interface java.util.Collection
Returns:
the number of elements in this collection

ojbAdd

public void ojbAdd(java.lang.Object anObject)
add a single Object to the Collection. This method is used during reading Collection elements from the database. Thus it is is save to cast anObject to the underlying element type of the collection.

Specified by:
ojbAdd in interface ManageableCollection

ojbAddAll

public void ojbAddAll(ManageableCollection otherCollection)
adds a Collection to this collection. Used in reading Extents from the Database. Thus it is save to cast otherCollection to this.getClass().

Specified by:
ojbAddAll in interface ManageableCollection

afterStore

public void afterStore(PersistenceBroker broker)
                throws PersistenceBrokerException
Description copied from interface: ManageableCollection
A callback method to implement 'removal-aware' (track removed objects and delete them by its own) collection implementations.

Specified by:
afterStore in interface ManageableCollection
Throws:
PersistenceBrokerException

ojbIterator

public java.util.Iterator ojbIterator()
returns an Iterator over all elements in the collection. Used during store and delete Operations. If the implementor does not return an iterator over ALL elements, OJB cannot store and delete all elements properly.

Specified by:
ojbIterator in interface ManageableCollection

resize

public void resize(int newSize)
Resize the array to have newSize elements.

Specified by:
resize in interface DArray
Parameters:
newSize - The new size of the array.

setElements

public void setElements(java.util.Vector elements)
Sets the elements.

Parameters:
elements - The elements to set

setId

public void setId(int id)
Sets the id.

Parameters:
id - The id to set

getSize

public int getSize()
Gets the size.

Returns:
Returns a int

setSize

public void setSize(int size)
Sets the size.

Parameters:
size - The size to set


Authors: Thomas Mahler and others. (C) 2000 - 2003 Apache Software Foundation
All rights reserved. Published under the Apache License.
http://db.apache.org/ojb
Version: 1.0.rc5, 2003-12-14