Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.jdo.spi
Interface StateManager

    public interface StateManager

This interface is the point of contact between managed instances of `PersistenceCapable` classes and the JDO implementation. It contains the methods used by `PersistenceCapable` instances to delegate behavior to the JDO implementation.

Each managed `PersistenceCapable` instance contains a reference to a `StateManager`. A `StateManager` might manage one or multiple instances of `PersistenceCapable` instances, at the choice of the implementation.

Version:
  2.0

Method Summary
`boolean` | `getBooleanField(PersistenceCapable pc, int field, boolean currentValue)` Return the value for the field.
`byte` | `getByteField(PersistenceCapable pc, int field, byte currentValue)` Return the value for the field.
`char` | `getCharField(PersistenceCapable pc, int field, char currentValue)` Return the value for the field.
`double` | `getDoubleField(PersistenceCapable pc, int field, double currentValue)` Return the value for the field.
`float` | `getFloatField(PersistenceCapable pc, int field, float currentValue)` Return the value for the field.
`int` | `getIntField(PersistenceCapable pc, int field, int currentValue)` Return the value for the field.
`long` | `getLongField(PersistenceCapable pc, int field, long currentValue)` Return the value for the field.
`java.lang.Object` | `getObjectField(PersistenceCapable pc, int field, java.lang.Object currentValue)` Return the value for the field.
`java.lang.Object` | `getObjectId(PersistenceCapable pc)` Return the object representing the JDO identity of the calling instance.
`PersistenceManager` | `getPersistenceManager(PersistenceCapable pc)` Return the `PersistenceManager` that owns this instance.
`short` | `getShortField(PersistenceCapable pc, int field, short currentValue)` Return the value for the field.
`java.lang.String` | `getStringField(PersistenceCapable pc, int field, java.lang.String currentValue)` Return the value for the field.
`java.lang.Object` | `getTransactionalObjectId(PersistenceCapable pc)` Return the object representing the JDO identity of the calling instance.
`java.lang.Object` | `getVersion(PersistenceCapable pc)` Return the object representing the version of the calling instance.
`boolean` | `isDeleted(PersistenceCapable pc)` Tests whether this object has been deleted.
`boolean` | `isDirty(PersistenceCapable pc)` Tests whether this object is dirty.
`boolean` | `isLoaded(PersistenceCapable pc, int field)` Return `true` if the field is cached in the calling instance.
`boolean` | `isNew(PersistenceCapable pc)` Tests whether this object has been newly made persistent.
`boolean` | `isPersistent(PersistenceCapable pc)` Tests whether this object is persistent.
`boolean` | `isTransactional(PersistenceCapable pc)` Tests whether this object is transactional.
`void` | `makeDirty(PersistenceCapable pc, java.lang.String fieldName)` Mark the associated `PersistenceCapable` field dirty.
`void` | `preSerialize(PersistenceCapable pc)` Guarantee that the serializable transactional and persistent fields are loaded into the instance.
`void` | `providedBooleanField(PersistenceCapable pc, int field, boolean currentValue)` The value of the field requested to be provided to the `StateManager`.
`void` | `providedByteField(PersistenceCapable pc, int field, byte currentValue)` The value of the field requested to be provided to the `StateManager`.
`void` | `providedCharField(PersistenceCapable pc, int field, char currentValue)` The value of the field requested to be provided to the `StateManager`.
`void` | `providedDoubleField(PersistenceCapable pc, int field, double currentValue)` The value of the field requested to be provided to the `StateManager`.
`void` | `providedFloatField(PersistenceCapable pc, int field, float currentValue)` The value of the field requested to be provided to the `StateManager`.
`void` | `providedIntField(PersistenceCapable pc, int field, int currentValue)` The value of the field requested to be provided to the `StateManager`.
`void` | `providedLongField(PersistenceCapable pc, int field, long currentValue)` The value of the field requested to be provided to the `StateManager`.
`void` | `providedObjectField(PersistenceCapable pc, int field, java.lang.Object currentValue)` The value of the field requested to be provided to the `StateManager`.
`void` | `providedShortField(PersistenceCapable pc, int field, short currentValue)` The value of the field requested to be provided to the `StateManager`.
`void` | `providedStringField(PersistenceCapable pc, int field, java.lang.String currentValue)` The value of the field requested to be provided to the `StateManager`.
`boolean` | `replacingBooleanField(PersistenceCapable pc, int field)` The replacement value of the field in the calling instance.
`byte` | `replacingByteField(PersistenceCapable pc, int field)` The replacement value of the field in the calling instance.
`char` | `replacingCharField(PersistenceCapable pc, int field)` The replacement value of the field in the calling instance.
`java.lang.Object[]` | `replacingDetachedState(Detachable pc, java.lang.Object[] state)` The replacement value of the detached state in the calling instance.
`double` | `replacingDoubleField(PersistenceCapable pc, int field)` The replacement value of the field in the calling instance.
`byte` | `replacingFlags(PersistenceCapable pc)` The owning `StateManager` uses this method to supply the value of the flags to the `PersistenceCapable` instance.
`float` | `replacingFloatField(PersistenceCapable pc, int field)` The replacement value of the field in the calling instance.
`int` | `replacingIntField(PersistenceCapable pc, int field)` The replacement value of the field in the calling instance.
`long` | `replacingLongField(PersistenceCapable pc, int field)` The replacement value of the field in the calling instance.
`java.lang.Object` | `replacingObjectField(PersistenceCapable pc, int field)` The replacement value of the field in the calling instance.
`short` | `replacingShortField(PersistenceCapable pc, int field)` The replacement value of the field in the calling instance.
`StateManager` | `replacingStateManager(PersistenceCapable pc, StateManager sm)` Replace the current value of `jdoStateManager`.
`java.lang.String` | `replacingStringField(PersistenceCapable pc, int field)` The replacement value of the field in the calling instance.
`void` | `setBooleanField(PersistenceCapable pc, int field, boolean currentValue, boolean newValue)` Mark the field as modified by the user.
`void` | `setByteField(PersistenceCapable pc, int field, byte currentValue, byte newValue)` Mark the field as modified by the user.
`void` | `setCharField(PersistenceCapable pc, int field, char currentValue, char newValue)` Mark the field as modified by the user.
`void` | `setDoubleField(PersistenceCapable pc, int field, double currentValue, double newValue)` Mark the field as modified by the user.
`void` | `setFloatField(PersistenceCapable pc, int field, float currentValue, float newValue)` Mark the field as modified by the user.
`void` | `setIntField(PersistenceCapable pc, int field, int currentValue, int newValue)` Mark the field as modified by the user.
`void` | `setLongField(PersistenceCapable pc, int field, long currentValue, long newValue)` Mark the field as modified by the user.
`void` | `setObjectField(PersistenceCapable pc, int field, java.lang.Object currentValue, java.lang.Object newValue)` Mark the field as modified by the user.
`void` | `setShortField(PersistenceCapable pc, int field, short currentValue, short newValue)` Mark the field as modified by the user.
`void` | `setStringField(PersistenceCapable pc, int field, java.lang.String currentValue, java.lang.String newValue)` Mark the field as modified by the user.

Method Detail

### replacingFlags

    byte replacingFlags(PersistenceCapable pc)

  The owning `StateManager` uses this method to supply the value of the flags to the `PersistenceCapable` instance.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
  Returns:
    the value of `jdoFlags` to be stored in the `PersistenceCapable` instance

### replacingStateManager

    StateManager replacingStateManager(PersistenceCapable pc,
                                       StateManager sm)

  Replace the current value of `jdoStateManager`.

  This method is called by the `PersistenceCapable` whenever `jdoReplaceStateManager` is called and there is already an owning `StateManager`. This is a security precaution to ensure that the owning `StateManager` is the only source of any change to its reference in the `PersistenceCapable`.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `sm` - the proposed new value for the `jdoStateManager`
  Returns:
    the new value for the `jdoStateManager`

### isDirty

    boolean isDirty(PersistenceCapable pc)

  Tests whether this object is dirty. Instances that have been modified, deleted, or newly made persistent in the current transaction return `true`.

  Transient nontransactional instances return `false`.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
  Returns:
    `true` if this instance has been modified in the current transaction.
  See Also:
    `PersistenceCapable.jdoMakeDirty(String fieldName)`

### isTransactional

    boolean isTransactional(PersistenceCapable pc)

  Tests whether this object is transactional. Instances that respect transaction boundaries return `true`. These instances include transient instances made transactional as a result of being the target of a `makeTransactional` method call; newly made persistent or deleted persistent instances; persistent instances read in data store transactions; and persistent instances modified in optimistic transactions.

  Transient nontransactional instances return `false`.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
  Returns:
    `true` if this instance is transactional.

### isPersistent

    boolean isPersistent(PersistenceCapable pc)

  Tests whether this object is persistent. Instances whose state is stored in the data store return `true`.

  Transient instances return `false`.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
  Returns:
    `true` if this instance is persistent.
  See Also:
    `PersistenceManager.makePersistent(Object pc)`

### isNew

    boolean isNew(PersistenceCapable pc)

  Tests whether this object has been newly made persistent. Instances that have been made persistent in the current transaction return `true`.

  Transient instances return `false`.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
  Returns:
    `true` if this instance was made persistent in the current transaction.
  See Also:
    `PersistenceManager.makePersistent(Object pc)`

### isDeleted

    boolean isDeleted(PersistenceCapable pc)

  Tests whether this object has been deleted. Instances that have been deleted in the current transaction return `true`.

  Transient instances return `false`.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
  Returns:
    `true` if this instance was deleted in the current transaction.
  See Also:
    `PersistenceManager.deletePersistent(Object pc)`

### getPersistenceManager

    PersistenceManager getPersistenceManager(PersistenceCapable pc)

  Return the `PersistenceManager` that owns this instance.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
  Returns:
    the `PersistenceManager` that owns this instance

### makeDirty

    void makeDirty(PersistenceCapable pc,
                   java.lang.String fieldName)

  Mark the associated `PersistenceCapable` field dirty.

  The `StateManager` will make a copy of the field so it can be restored if needed later, and then mark the field as modified in the current transaction.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `fieldName` - the name of the field

### getObjectId

    java.lang.Object getObjectId(PersistenceCapable pc)

  Return the object representing the JDO identity of the calling instance. If the JDO identity is being changed in the current transaction, this method returns the identity as of the beginning of the transaction.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
  Returns:
    the object representing the JDO identity of the calling instance

### getTransactionalObjectId

    java.lang.Object getTransactionalObjectId(PersistenceCapable pc)

  Return the object representing the JDO identity of the calling instance. If the JDO identity is being changed in the current transaction, this method returns the current identity as changed in the transaction.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
  Returns:
    the object representing the JDO identity of the calling instance

### getVersion

    java.lang.Object getVersion(PersistenceCapable pc)

  Return the object representing the version of the calling instance.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
  Returns:
    the object representing the version of the calling instance
  Since:
    2.0

### isLoaded

    boolean isLoaded(PersistenceCapable pc,
                     int field)

  Return `true` if the field is cached in the calling instance.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
  Returns:
    whether the field is cached in the calling instance

### preSerialize

    void preSerialize(PersistenceCapable pc)

  Guarantee that the serializable transactional and persistent fields are loaded into the instance. This method is called by the generated `jdoPreSerialize` method prior to serialization of the instance.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance

### getBooleanField

    boolean getBooleanField(PersistenceCapable pc,
                            int field,
                            boolean currentValue)

  Return the value for the field.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
    `currentValue` - the current value of the field
  Returns:
    the new value for the field

### getCharField

    char getCharField(PersistenceCapable pc,
                      int field,
                      char currentValue)

  Return the value for the field.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
    `currentValue` - the current value of the field
  Returns:
    the new value for the field

### getByteField

    byte getByteField(PersistenceCapable pc,
                      int field,
                      byte currentValue)

  Return the value for the field.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
    `currentValue` - the current value of the field
  Returns:
    the new value for the field

### getShortField

    short getShortField(PersistenceCapable pc,
                        int field,
                        short currentValue)

  Return the value for the field.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
    `currentValue` - the current value of the field
  Returns:
    the new value for the field

### getIntField

    int getIntField(PersistenceCapable pc,
                    int field,
                    int currentValue)

  Return the value for the field.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
    `currentValue` - the current value of the field
  Returns:
    the new value for the field

### getLongField

    long getLongField(PersistenceCapable pc,
                      int field,
                      long currentValue)

  Return the value for the field.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
    `currentValue` - the current value of the field
  Returns:
    the new value for the field

### getFloatField

    float getFloatField(PersistenceCapable pc,
                        int field,
                        float currentValue)

  Return the value for the field.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
    `currentValue` - the current value of the field
  Returns:
    the new value for the field

### getDoubleField

    double getDoubleField(PersistenceCapable pc,
                          int field,
                          double currentValue)

  Return the value for the field.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
    `currentValue` - the current value of the field
  Returns:
    the new value for the field

### getStringField

    java.lang.String getStringField(PersistenceCapable pc,
                                    int field,
                                    java.lang.String currentValue)

  Return the value for the field.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
    `currentValue` - the current value of the field
  Returns:
    the new value for the field

### getObjectField

    java.lang.Object getObjectField(PersistenceCapable pc,
                                    int field,
                                    java.lang.Object currentValue)

  Return the value for the field.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
    `currentValue` - the current value of the field
  Returns:
    the new value for the field

### setBooleanField

    void setBooleanField(PersistenceCapable pc,
                         int field,
                         boolean currentValue,
                         boolean newValue)

  Mark the field as modified by the user.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
    `currentValue` - the current value of the field
    `newValue` - the proposed new value of the field

### setCharField

    void setCharField(PersistenceCapable pc,
                      int field,
                      char currentValue,
                      char newValue)

  Mark the field as modified by the user.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
    `currentValue` - the current value of the field
    `newValue` - the proposed new value of the field

### setByteField

    void setByteField(PersistenceCapable pc,
                      int field,
                      byte currentValue,
                      byte newValue)

  Mark the field as modified by the user.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
    `currentValue` - the current value of the field
    `newValue` - the proposed new value of the field

### setShortField

    void setShortField(PersistenceCapable pc,
                       int field,
                       short currentValue,
                       short newValue)

  Mark the field as modified by the user.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
    `currentValue` - the current value of the field
    `newValue` - the proposed new value of the field

### setIntField

    void setIntField(PersistenceCapable pc,
                     int field,
                     int currentValue,
                     int newValue)

  Mark the field as modified by the user.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
    `currentValue` - the current value of the field
    `newValue` - the proposed new value of the field

### setLongField

    void setLongField(PersistenceCapable pc,
                      int field,
                      long currentValue,
                      long newValue)

  Mark the field as modified by the user.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
    `currentValue` - the current value of the field
    `newValue` - the proposed new value of the field

### setFloatField

    void setFloatField(PersistenceCapable pc,
                       int field,
                       float currentValue,
                       float newValue)

  Mark the field as modified by the user.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
    `currentValue` - the current value of the field
    `newValue` - the proposed new value of the field

### setDoubleField

    void setDoubleField(PersistenceCapable pc,
                        int field,
                        double currentValue,
                        double newValue)

  Mark the field as modified by the user.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
    `currentValue` - the current value of the field
    `newValue` - the proposed new value of the field

### setStringField

    void setStringField(PersistenceCapable pc,
                        int field,
                        java.lang.String currentValue,
                        java.lang.String newValue)

  Mark the field as modified by the user.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
    `currentValue` - the current value of the field
    `newValue` - the proposed new value of the field

### setObjectField

    void setObjectField(PersistenceCapable pc,
                        int field,
                        java.lang.Object currentValue,
                        java.lang.Object newValue)

  Mark the field as modified by the user.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
    `currentValue` - the current value of the field
    `newValue` - the proposed new value of the field

### providedBooleanField

    void providedBooleanField(PersistenceCapable pc,
                              int field,
                              boolean currentValue)

  The value of the field requested to be provided to the `StateManager`.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
    `currentValue` - the current value of the field

### providedCharField

    void providedCharField(PersistenceCapable pc,
                           int field,
                           char currentValue)

  The value of the field requested to be provided to the `StateManager`.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
    `currentValue` - the current value of the field

### providedByteField

    void providedByteField(PersistenceCapable pc,
                           int field,
                           byte currentValue)

  The value of the field requested to be provided to the `StateManager`.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
    `currentValue` - the current value of the field

### providedShortField

    void providedShortField(PersistenceCapable pc,
                            int field,
                            short currentValue)

  The value of the field requested to be provided to the `StateManager`.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
    `currentValue` - the current value of the field

### providedIntField

    void providedIntField(PersistenceCapable pc,
                          int field,
                          int currentValue)

  The value of the field requested to be provided to the `StateManager`.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
    `currentValue` - the current value of the field

### providedLongField

    void providedLongField(PersistenceCapable pc,
                           int field,
                           long currentValue)

  The value of the field requested to be provided to the `StateManager`.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
    `currentValue` - the current value of the field

### providedFloatField

    void providedFloatField(PersistenceCapable pc,
                            int field,
                            float currentValue)

  The value of the field requested to be provided to the `StateManager`.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
    `currentValue` - the current value of the field

### providedDoubleField

    void providedDoubleField(PersistenceCapable pc,
                             int field,
                             double currentValue)

  The value of the field requested to be provided to the `StateManager`.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
    `currentValue` - the current value of the field

### providedStringField

    void providedStringField(PersistenceCapable pc,
                             int field,
                             java.lang.String currentValue)

  The value of the field requested to be provided to the `StateManager`.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
    `currentValue` - the current value of the field

### providedObjectField

    void providedObjectField(PersistenceCapable pc,
                             int field,
                             java.lang.Object currentValue)

  The value of the field requested to be provided to the `StateManager`.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
    `currentValue` - the current value of the field

### replacingBooleanField

    boolean replacingBooleanField(PersistenceCapable pc,
                                  int field)

  The replacement value of the field in the calling instance.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
  Returns:
    the new value for the field

### replacingCharField

    char replacingCharField(PersistenceCapable pc,
                            int field)

  The replacement value of the field in the calling instance.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
  Returns:
    the new value for the field

### replacingByteField

    byte replacingByteField(PersistenceCapable pc,
                            int field)

  The replacement value of the field in the calling instance.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
  Returns:
    the new value for the field

### replacingShortField

    short replacingShortField(PersistenceCapable pc,
                              int field)

  The replacement value of the field in the calling instance.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
  Returns:
    the new value for the field

### replacingIntField

    int replacingIntField(PersistenceCapable pc,
                          int field)

  The replacement value of the field in the calling instance.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
  Returns:
    the new value for the field

### replacingLongField

    long replacingLongField(PersistenceCapable pc,
                            int field)

  The replacement value of the field in the calling instance.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
  Returns:
    the new value for the field

### replacingFloatField

    float replacingFloatField(PersistenceCapable pc,
                              int field)

  The replacement value of the field in the calling instance.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
  Returns:
    the new value for the field

### replacingDoubleField

    double replacingDoubleField(PersistenceCapable pc,
                                int field)

  The replacement value of the field in the calling instance.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
  Returns:
    the new value for the field

### replacingStringField

    java.lang.String replacingStringField(PersistenceCapable pc,
                                          int field)

  The replacement value of the field in the calling instance.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
  Returns:
    the new value for the field

### replacingObjectField

    java.lang.Object replacingObjectField(PersistenceCapable pc,
                                          int field)

  The replacement value of the field in the calling instance.

  Parameters:
    `pc` - the calling `PersistenceCapable` instance
    `field` - the field number
  Returns:
    the new value for the field

### replacingDetachedState

    java.lang.Object[] replacingDetachedState(Detachable pc,
                                              java.lang.Object[] state)

  The replacement value of the detached state in the calling instance.

  Parameters:
    `pc` - the calling `Detachable` instance
    `state` - the current value of the detached state
  Returns:
    the replacement value for the detached state
  Since:
    2.0

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD