org.openmdx.base.accessor.generic.cci
Interface Object_1_0

All Known Subinterfaces:
Object_1_1, Object_1_2
All Known Implementing Classes:
AbstractObject_1, DelegatingObject_1, MarshallingObject_1, Object_1

public interface Object_1_0

The Object_1_0 interface.


Method Summary
 void objAddEventListener(String feature, EventListener listener)
          Add an event listener.
 void objAddToUnitOfWork()
          After this call the object observes unit of work boundaries.
 Object_1_0 objCopy(FilterableMap there, String criteria)
          The copy operation makes a copy of the object.
 Set objDefaultFetchGroup()
          Returns a new set containing the names of the features in the default fetch group.
 boolean objFlush()
          Flush the state of the instance to its provider.
 String objGetClass()
          Returns the object's model class.
 FilterableMap objGetContainer(String feature)
          Get a reference feature.
 EventListener[] objGetEventListeners(String feature, Class listenerType)
          Get event listeners.
 LargeObject_1_0 objGetLargeObject(String feature)
          Get a large object feature
 List objGetList(String feature)
          Get a List attribute.
 Path objGetPath()
          Returns the object's access path.
 Object objGetResourceIdentifier()
          Returns the object's resource identifier
 Set objGetSet(String feature)
          Get a Set attribute.
 SortedMap objGetSparseArray(String feature)
          Get a SparseArray attribute.
 Object objGetValue(String feature)
          Get a single-valued attribute.
 Structure_1_0 objInvokeOperation(String operation, Structure_1_0 arguments)
          Invokes an operation synchronously.
 Structure_1_0 objInvokeOperationInUnitOfWork(String operation, Structure_1_0 arguments)
          Invokes an operation asynchronously.
 boolean objIsDeleted()
          Tests whether this object has been deleted.
 boolean objIsDirty()
          Tests whether this object is dirty.
 boolean objIsInUnitOfWork()
          Tests whether this object belongs to the current unit of work.
 boolean objIsNew()
          Tests whether this object has been newly made persistent.
 boolean objIsPersistent()
          Tests whether this object is persistent.
 void objMakeVolatile()
          Mark an object as volatile, i.e POST_RELOAD InstanceCallbackEvents may be fired.
 void objMove(FilterableMap there, String criteria)
          The move operation moves the object to the scope of the container passed as the first parameter.
 void objRefresh()
          Refresh the state of the instance from its provider.
 void objRegisterSynchronization(InstanceCallbacks_1_0 synchronization)
          Deprecated. use addEventListener(String,EventListener) instead
 void objRemove()
          Removes an object.
 void objRemoveEventListener(String feature, EventListener listener)
          Remove an event listener.
 void objRemoveFromUnitOfWork()
          After this call the object ignores unit of work boundaries.
 void objSetValue(String feature, Object to)
          Set an attribute's value.
 

Method Detail

objGetPath

Path objGetPath()
                throws ServiceException
Returns the object's access path.

Returns:
the object's access path; or null for transient objects
Throws:
ServiceException

objGetResourceIdentifier

Object objGetResourceIdentifier()
Returns the object's resource identifier

Returns:
the object's access path; or null for transient or new objects

objDefaultFetchGroup

Set objDefaultFetchGroup()
                         throws ServiceException
Returns a new set containing the names of the features in the default fetch group.

The returned set is a copy of the original set, i.e. interceptors are free to modify it before passing it on.

Returns:
the names of the features in the default fetch group
Throws:
ServiceException - if the information is unavailable

objGetClass

String objGetClass()
                   throws ServiceException
Returns the object's model class.

Returns:
the object's model class
Throws:
ServiceException - if the information is unavailable

objAddToUnitOfWork

void objAddToUnitOfWork()
                        throws ServiceException
After this call the object observes unit of work boundaries.

This method is idempotent.

Throws:
ServiceException - ILLEGAL_STATE if the object is locked
ServiceException - if the object can't be added to the unit of work for another reason.

objRemoveFromUnitOfWork

void objRemoveFromUnitOfWork()
                             throws ServiceException
After this call the object ignores unit of work boundaries.

This method is idempotent.

Throws:
ServiceException - ILLEGAL_STATE if the object is dirty.
ServiceException - if the object can't be removed from its unit of work for another reason

objIsDirty

boolean objIsDirty()
                   throws ServiceException
Tests whether this object is dirty. Instances that have been modified, deleted, or newly made persistent in the current unit of work return true.

Transient instances return false.

Returns:
true if this instance has been modified in the current unit of work.
Throws:
ServiceException

objIsPersistent

boolean objIsPersistent()
                        throws ServiceException
Tests whether this object is persistent. Instances that represent persistent objects in the data store return true.

Returns:
true if this instance is persistent.
Throws:
ServiceException

objIsNew

boolean objIsNew()
                 throws ServiceException
Tests whether this object has been newly made persistent. Instances that have been made persistent in the current unit of work return true.

Transient instances return false.

Returns:
true if this instance was made persistent in the current unit of work.
Throws:
ServiceException

objIsDeleted

boolean objIsDeleted()
                     throws ServiceException
Tests whether this object has been deleted. Instances that have been deleted in the current unit of work return true. Transient instances return false.

Returns:
true if this instance was deleted in the current unit of work.
Throws:
ServiceException

objIsInUnitOfWork

boolean objIsInUnitOfWork()
                          throws ServiceException
Tests whether this object belongs to the current unit of work.

Returns:
true if this instance belongs to the current unit of work.
Throws:
ServiceException

objRefresh

void objRefresh()
                throws ServiceException
Refresh the state of the instance from its provider.

Throws:
ServiceException - if the object can't be synchronized

objFlush

boolean objFlush()
                 throws ServiceException
Flush the state of the instance to its provider.

Returns:
true if all attributes could be flushed, false if some attributes contained placeholders
Throws:
ServiceException - NOT_SUPPORTED if the unit of work is optimistic
ServiceException - ILLEGAL_STATE if the object is not persistent
ServiceException - if the object can't be synchronized

objMakeVolatile

void objMakeVolatile()
                     throws ServiceException
Mark an object as volatile, i.e POST_RELOAD InstanceCallbackEvents may be fired.

Throws:
ServiceException - if the object can't be made volatile.

objCopy

Object_1_0 objCopy(FilterableMap there,
                   String criteria)
                   throws ServiceException
The copy operation makes a copy of the object. The copy is located in the scope of the container passed as the first parameter and includes the object's default fetch set.

Parameters:
there - the new object's container or null, in which case the object will not belong to any container until it is moved to a container.
criteria - The criteria is used to add the object to the container or null, in which case it is up to the implementation to define the criteria.
Returns:
an object initialized from the existing object.
Throws:
ServiceException - if the copy operation fails.

objMove

void objMove(FilterableMap there,
             String criteria)
             throws ServiceException
The move operation moves the object to the scope of the container passed as the first parameter. The object remains valid after move has successfully executed.

Parameters:
there - the object's new container.
criteria - The criteria is used to move the object to the container or null, in which case it is up to the implementation to define the criteria.
Throws:
ServiceException - ILLEGAL_STATE if the object is persistent.
ServiceException - BAD_PARAMETER if there is null.
ServiceException - if the move operation fails.

objRemove

void objRemove()
               throws ServiceException
Removes an object.

Neither getValue() nor setValue() calls are allowed after an remove() invocation and isDeleted() will return true unless the object has beeen transient.

Throws:
ServiceException - NOT_SUPPORTED If the object refuses to be removed.
ServiceException - if the object can't be removed

objSetValue

void objSetValue(String feature,
                 Object to)
                 throws ServiceException
Set an attribute's value.

This method returns a BAD_PARAMETER exception unless the feature is single valued or a stream.

Parameters:
feature - the attribute's name
to - the object.
Throws:
ServiceException - ILLEGAL_STATE if the object is write protected
ServiceException - BAD_PARAMETER if the feature is multi-valued
ServiceException - BAD_MEMBER_NAME if the object has no such feature
ServiceException - if the object is not accessible

objGetValue

Object objGetValue(String feature)
                   throws ServiceException
Get a single-valued attribute.

This method returns a BAD_PARAMETER exception unless the feature is single valued or a stream.

Parameters:
feature - the feature's name
Returns:
the object representing the feature; or null if the feature's value hasn't been set yet.
Throws:
ServiceException - BAD_MEMBER_NAME if the object has no such feature
ServiceException - BAD_PARAMETER if the feature is multi-valued
ServiceException - if the object is not accessible

objGetList

List objGetList(String feature)
                throws ServiceException
Get a List attribute.

This method never returns null as an instance of the requested class is created on demand if it hasn't been set yet.

Parameters:
feature - The feature's name.
Returns:
a collection which may be empty but never null.
Throws:
ServiceException - ILLEGAL_STATE if the object is deleted
ServiceException - BAD_MEMBER_NAME if the object has no such feature
ClassCastException - if the feature's value is not a list

objGetSet

Set objGetSet(String feature)
              throws ServiceException
Get a Set attribute.

This method never returns null as an instance of the requested class is created on demand if it hasn't been set yet.

Parameters:
feature - The feature's name.
Returns:
a collection which may be empty but never null.
Throws:
ServiceException - ILLEGAL_STATE if the object is deleted
ServiceException - BAD_MEMBER_NAME if the object has no such feature
ClassCastException - if the feature's value is not a set

objGetSparseArray

SortedMap objGetSparseArray(String feature)
                            throws ServiceException
Get a SparseArray attribute.

This method never returns null as an instance of the requested class is created on demand if it hasn't been set yet.

Parameters:
feature - The feature's name.
Returns:
a collection which may be empty but never null.
Throws:
ServiceException - ILLEGAL_STATE if the object is deleted
ClassCastException - if the feature's value is not a sparse array
ServiceException - BAD_MEMBER_NAME if the object has no such feature

objGetLargeObject

LargeObject_1_0 objGetLargeObject(String feature)
                                  throws ServiceException
Get a large object feature

This method returns a new LargeObject.

Parameters:
feature - The feature's name.
Returns:
a large object which may be empty but never is null.
Throws:
ServiceException - ILLEGAL_STATE if the object is deleted
ClassCastException - if the feature's value is not a large object
ServiceException - BAD_MEMBER_NAME if the object has no such feature

objGetContainer

FilterableMap objGetContainer(String feature)
                              throws ServiceException
Get a reference feature.

This method never returns null as an instance of the requested class is created on demand if it hasn't been set yet.

Parameters:
feature - The feature's name.
Returns:
a collection which may be empty but never null.
Throws:
ServiceException - ILLEGAL_STATE if the object is deleted
ClassCastException - if the feature is not a reference
ServiceException - BAD_MEMBER_NAME if the object has no such feature

objInvokeOperation

Structure_1_0 objInvokeOperation(String operation,
                                 Structure_1_0 arguments)
                                 throws ServiceException
Invokes an operation synchronously.

Only query operations can be invoked synchronously unless the unit of work is non-optimistic or committing. Such queries use the object states at the beginning of the unit of work!

Parameters:
operation - The operation name
arguments - The operation's arguments
Returns:
the operation's return values
Throws:
ServiceException - ILLEGAL_STATE if a non-query operation is called in an inappropriate state of the unit of work.
ServiceException - NOT_SUPPORTED if synchronous calls are not supported by the basic accessor or if the requested operation is not supported by object instance.
ServiceException - BAD_MEMBER_NAME if the requested operation is not a feature of the object.
ServiceException - if a checked exception is thrown by the implementation or the invocation fails for another reason.

objInvokeOperationInUnitOfWork

Structure_1_0 objInvokeOperationInUnitOfWork(String operation,
                                             Structure_1_0 arguments)
                                             throws ServiceException
Invokes an operation asynchronously.

Such asynchronous operations will be invoked at the very end of an optimistic unit of work, i.e. after all modifications at object and attribute level.

Parameters:
operation - The operation name
arguments - The operation's arguments
Returns:
a structure with the result's values if the accessor is going to populate it after the unit of work has committed or null if the operation's return value(s) will never be available to the accessor.
Throws:
ServiceException - ILLEGAL_STATE if no unit of work is in progress
ServiceException - NOT_SUPPORTED if synchronous calls are not supported by the basic accessor.
ServiceException - BAD_MEMBER_NAME if the requested operation is not a feature of the object.
ServiceException - if the invocation fails for another reason

objAddEventListener

void objAddEventListener(String feature,
                         EventListener listener)
                         throws ServiceException
Add an event listener.

Parameters:
feature - restrict the listener to this feature; or null if the listener is interested in all features
listener - the event listener to be added

It is implementation dependent whether the feature name is verified or not.

Throws:
ServiceException - BAD_MEMBER_NAME if the object has no such feature or if a non-null feature name is specified for an instance level event
ServiceException - NOT_SUPPORTED if the listener's class is not supported
ServiceException - TOO_MANY_EVENT_LISTENERS if an attempt is made to register more than one listener for a unicast event.
ServiceException - BAD_PARAMETER If the listener is null

objRemoveEventListener

void objRemoveEventListener(String feature,
                            EventListener listener)
                            throws ServiceException
Remove an event listener.

It is implementation dependent whether feature name and listener class are verified.

Parameters:
feature - the name of the feature that was listened on, or null if the listener is interested in all features
listener - the event listener to be removed
Throws:
ServiceException - BAD_MEMBER_NAME if the object has no such feature or if a non-null feature name is specified for an instance level event
ServiceException - NOT_SUPPORTED if the listener's class is not supported
ServiceException - BAD_PARAMETER If the listener is null

objGetEventListeners

EventListener[] objGetEventListeners(String feature,
                                     Class listenerType)
                                     throws ServiceException
Get event listeners.

The feature argument is ignored for listeners registered with a null feature argument.

It is implementation dependent whether feature name and listener type are verified.

Parameters:
feature - the name of the feature that was listened on, or null for listeners interested in all features
listenerType - the type of the event listeners to be returned
Returns:
an array of listenerType containing the matching event listeners
Throws:
ServiceException - BAD_MEMBER_NAME if the object has no such feature or if a non-null feature name is specified for an instance level event
ServiceException - BAD_PARAMETER If the listener's type is not a subtype of EventListener
ServiceException - NOT_SUPPORTED if the listener type is not supported

objRegisterSynchronization

void objRegisterSynchronization(InstanceCallbacks_1_0 synchronization)
                                throws ServiceException
Deprecated. use addEventListener(String,EventListener) instead

Register a synchronization object for upward delegation.

Parameters:
synchronization - The synchronization object to be registered
Throws:
ServiceException - TOO_MANY_EVENT_LISTENERS if an attempt is made to register more than one synchronization object.


This software is published under the BSD license. Copyright © 2003-2007, OMEX AG, Switzerland, All rights reserved. Use is subject to license terms.