EclipseLink 1.1.1_ 1.1.1.v20090430-r4097 API Reference

org.eclipse.persistence.sdo
Interface ValueStore

All Known Implementing Classes:
DefaultValueStore, JAXBValueStore

public interface ValueStore

Purpose The ValueStore interface exposes the property model in SDO to pluggable implementers that wish to wrap their object model in the SDO API.

The ValueStore interface exposes the properties Map in SDODataObject to extension or replacement. The implementing class must override or extend the get/set/isSet/unset ValueStore functions so that any calls routed through the SDO API are routed through to the underlying Data-Model that ValueStore wraps.

Possible implementers must maintain DataObject integrity which includes containment and changeSummary.

Setup:
Before using the ValueStore interface the type tree must be defined by loading in the XSD schema file that matches the plugged in model if using dynamic classes.

The ValueStore interface enables 3rd party implementers of the SDO API to plug-in their object model in place of the default SDO DataObject interface. The Map like functions set/get and the List like functions isSet/unset are left to the implementation to maintain.
It is the responsibility of the implementation to handle read or read/write capability against the underlying object model. Any access or modification of the pluggable object model done outside of this interface may destabilize the ValueStore state.


Method Summary
 ValueStore copy()
          Get a shallow copy of the original ValueStore.
 java.lang.Object getDeclaredProperty(int propertyIndex)
           
 java.lang.Object getOpenContentProperty(Property property)
           
 void initialize(DataObject dataObject)
          Perform any post-instantiation integrity operations that could not be done during ValueStore creation.
 boolean isSetDeclaredProperty(int propertyIndex)
           
 boolean isSetOpenContentProperty(Property property)
           
 void setDeclaredProperty(int propertyIndex, java.lang.Object value)
           
 void setManyProperty(Property propertyName, java.lang.Object value)
           
 void setOpenContentProperty(Property property, java.lang.Object value)
           
 void unsetDeclaredProperty(int propertyIndex)
           
 void unsetOpenContentProperty(Property property)
           
 

Method Detail

getDeclaredProperty

java.lang.Object getDeclaredProperty(int propertyIndex)

getOpenContentProperty

java.lang.Object getOpenContentProperty(Property property)

setDeclaredProperty

void setDeclaredProperty(int propertyIndex,
                         java.lang.Object value)

setOpenContentProperty

void setOpenContentProperty(Property property,
                            java.lang.Object value)

setManyProperty

void setManyProperty(Property propertyName,
                     java.lang.Object value)

isSetDeclaredProperty

boolean isSetDeclaredProperty(int propertyIndex)

isSetOpenContentProperty

boolean isSetOpenContentProperty(Property property)

unsetDeclaredProperty

void unsetDeclaredProperty(int propertyIndex)

unsetOpenContentProperty

void unsetOpenContentProperty(Property property)

initialize

void initialize(DataObject dataObject)
Perform any post-instantiation integrity operations that could not be done during ValueStore creation.
Since the dataObject reference passed in may be bidirectional or self-referencing - we cannot set this variable until the dataObject itself is finished instantiation - hence the 2-step initialization.

Parameters:
dataObject -

copy

ValueStore copy()
Get a shallow copy of the original ValueStore. Changes made to the copy must not impact the original ValueStore

Returns:
ValueStore

EclipseLink 1.1.1_ 1.1.1.v20090430-r4097 API Reference