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 Details

    • getDeclaredProperty

      Object getDeclaredProperty(int propertyIndex)
    • getOpenContentProperty

      Object getOpenContentProperty(Property property)
    • setDeclaredProperty

      void setDeclaredProperty(int propertyIndex, Object value)
    • setOpenContentProperty

      void setOpenContentProperty(Property property, Object value)
    • setManyProperty

      void setManyProperty(Property propertyName, 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