org.apache.jdo.impl.state
Class SCOProcessor.Processor

java.lang.Object
  extended byorg.apache.jdo.impl.state.SCOProcessor.Processor
Direct Known Subclasses:
SCOProcessor.CollectionProcessor, SCOProcessor.DateProcessor, SCOProcessor.MapProcessor
Enclosing class:
SCOProcessor

abstract class SCOProcessor.Processor
extends java.lang.Object

An abstract class that knows how process SCO-related requests.


Constructor Summary
(package private) SCOProcessor.Processor()
           
 
Method Summary
(package private) abstract  void assertSCOElementType(java.lang.Object o, JDOField jdoField)
          Assert element type of an SCO Collection or key and value types of an SCO Map.
(package private) abstract  SCO getSCOField(java.lang.Object o, JDOField jdoField, PersistenceManagerInternal pm)
          Replace field reference that contain java.util SCO instances with tracked SCOs.
(package private) abstract  void trackUpdates(StateManagerImpl sm, int field, SCO sco)
          Makes newly added instances to an SCO Collection auto-persistent and fixes ownership on referenced SCO instances.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SCOProcessor.Processor

SCOProcessor.Processor()
Method Detail

trackUpdates

abstract void trackUpdates(StateManagerImpl sm,
                           int field,
                           SCO sco)
Makes newly added instances to an SCO Collection auto-persistent and fixes ownership on referenced SCO instances.

Parameters:
sm - - StateManagerImpl instance that requested processing.
field - the field number associated with this SCO.
sco - Object to process.

getSCOField

abstract SCO getSCOField(java.lang.Object o,
                         JDOField jdoField,
                         PersistenceManagerInternal pm)
Replace field reference that contain java.util SCO instances with tracked SCOs. No recursion is performed on this operation.

Parameters:
o - Object to be replaced with tracked SCO instance.
jdoField - the JDOField associated with this number.
pm - the PersistenceManagerInternal instance associated with the caller.

assertSCOElementType

abstract void assertSCOElementType(java.lang.Object o,
                                   JDOField jdoField)
Assert element type of an SCO Collection or key and value types of an SCO Map.

Parameters:
o - Object to be tested.
jdoField - the corresponding JDOField element.
Throws:
javax.jdo.JDOUserException - if assertion fails.