org.apache.openjpa.kernel
Class ExtentImpl<T>

java.lang.Object
  extended by org.apache.openjpa.kernel.ExtentImpl<T>
All Implemented Interfaces:
Extent<T>

public class ExtentImpl<T>
extends Object
implements Extent<T>

Representation of all members of a persistent class.

Author:
Abe White, Patrick Linskey

Constructor Summary
ExtentImpl(Broker broker, Class<T> type, boolean subs, FetchConfiguration fetch)
          Constructor.
 
Method Summary
 void closeAll()
          Close all open iterators.
 Broker getBroker()
          The broker that generated the extent.
 Class<T> getElementType()
          The class of extent elements.
 FetchConfiguration getFetchConfiguration()
          Return the (mutable) fetch configuration for this extent.
 boolean getIgnoreChanges()
          Whether this extent will ignore changes made in the current transaction.
 boolean hasSubclasses()
          Whether the extent includes subclasses.
 Iterator<T> iterator()
          Return an iterator over the extent members.
 List<T> list()
          Returns a list of all objects represented by this extent.
 void lock()
          Synchronizes on an internal lock.
 void setIgnoreChanges(boolean ignoreChanges)
          Whether this extent will ignore changes made in the current transaction.
 void unlock()
          Release the internal lock.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExtentImpl

ExtentImpl(Broker broker,
           Class<T> type,
           boolean subs,
           FetchConfiguration fetch)
Constructor.

Parameters:
broker - the owning broker
type - the candidate class
subs - whether subclasses are included in the extent
Method Detail

getFetchConfiguration

public FetchConfiguration getFetchConfiguration()
Description copied from interface: Extent
Return the (mutable) fetch configuration for this extent.

Specified by:
getFetchConfiguration in interface Extent<T>

getIgnoreChanges

public boolean getIgnoreChanges()
Description copied from interface: Extent
Whether this extent will ignore changes made in the current transaction.

Specified by:
getIgnoreChanges in interface Extent<T>

setIgnoreChanges

public void setIgnoreChanges(boolean ignoreChanges)
Description copied from interface: Extent
Whether this extent will ignore changes made in the current transaction.

Specified by:
setIgnoreChanges in interface Extent<T>

list

public List<T> list()
Description copied from interface: Extent
Returns a list of all objects represented by this extent. This method creates a List by traversing the entire iterator returned by a call to Extent.iterator(). This means that Collection.size() will work correctly, but if the extent represents a large data set, this method may be quite slow and may consume quite a bit of memory.

Specified by:
list in interface Extent<T>

iterator

public Iterator<T> iterator()
Description copied from interface: Extent
Return an iterator over the extent members.

Specified by:
iterator in interface Extent<T>

getBroker

public Broker getBroker()
Description copied from interface: Extent
The broker that generated the extent.

Specified by:
getBroker in interface Extent<T>

getElementType

public Class<T> getElementType()
Description copied from interface: Extent
The class of extent elements.

Specified by:
getElementType in interface Extent<T>

hasSubclasses

public boolean hasSubclasses()
Description copied from interface: Extent
Whether the extent includes subclasses.

Specified by:
hasSubclasses in interface Extent<T>

closeAll

public void closeAll()
Description copied from interface: Extent
Close all open iterators.

Specified by:
closeAll in interface Extent<T>

lock

public void lock()
Description copied from interface: Extent
Synchronizes on an internal lock.

Specified by:
lock in interface Extent<T>

unlock

public void unlock()
Description copied from interface: Extent
Release the internal lock.

Specified by:
unlock in interface Extent<T>


Copyright © 2006-2012 Apache Software Foundation. All Rights Reserved.