org.apache.openjpa.kernel
Class TimeSeededSeq

java.lang.Object
  extended by org.apache.openjpa.kernel.TimeSeededSeq
All Implemented Interfaces:
Seq, Closeable

public class TimeSeededSeq
extends Object
implements Seq

A simplistic implementation of a Seq used to provide datastore ids. Starts with an id equal to the system's current time in milliseconds and increments from there.

Author:
Greg Campbell

Field Summary
 
Fields inherited from interface org.apache.openjpa.kernel.Seq
TYPE_CONTIGUOUS, TYPE_DEFAULT, TYPE_NONTRANSACTIONAL, TYPE_TRANSACTIONAL
 
Constructor Summary
TimeSeededSeq()
           
 
Method Summary
 void allocate(int additional, StoreContext ctx, ClassMetaData meta)
          Allocate additional values efficiently.
 void close()
          Free resources used by this sequence.
 Object current(StoreContext ctx, ClassMetaData meta)
          Return the current value of the sequence, or null if not available.
 int getIncrement()
           
 Object next(StoreContext ctx, ClassMetaData meta)
          Return the next value in the sequence.
 void setIncrement(int increment)
           
 void setType(int type)
          Set the type of sequence.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TimeSeededSeq

public TimeSeededSeq()
Method Detail

setType

public void setType(int type)
Description copied from interface: Seq
Set the type of sequence.

Specified by:
setType in interface Seq

getIncrement

public int getIncrement()

setIncrement

public void setIncrement(int increment)

next

public Object next(StoreContext ctx,
                   ClassMetaData meta)
Description copied from interface: Seq
Return the next value in the sequence.

Specified by:
next in interface Seq
Parameters:
ctx - the current context
meta - if this is a datastore identity sequence, the persistent class the identity value is for; else null

current

public Object current(StoreContext ctx,
                      ClassMetaData meta)
Description copied from interface: Seq
Return the current value of the sequence, or null if not available.

Specified by:
current in interface Seq
Parameters:
ctx - the current context
meta - if this is a datastore identity sequence, the persistent class the identity value is for; else null

allocate

public void allocate(int additional,
                     StoreContext ctx,
                     ClassMetaData meta)
Description copied from interface: Seq
Allocate additional values efficiently.

Specified by:
allocate in interface Seq
ctx - the current context
meta - if this is a datastore identity sequence, the persistent class the identity value is for; else null

close

public void close()
Description copied from interface: Seq
Free resources used by this sequence.

Specified by:
close in interface Seq
Specified by:
close in interface Closeable


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