ariba.ui.meta.persistence
Class ObjectContext

java.lang.Object
  extended by ariba.ui.meta.persistence.ObjectContext
Direct Known Subclasses:
JPAContext

public abstract class ObjectContext
extends java.lang.Object


Nested Class Summary
static class ObjectContext.ChangeWatch
           
static interface ObjectContext.EntityQueryFilterProvider
          Implement this interface if you want to add additional filtering on queries linked to an entity.
static interface ObjectContext.Provider
           
 
Constructor Summary
ObjectContext()
           
 
Method Summary
static void bind(ObjectContext ctx)
           
static void bindNestedContext()
           
static void bindNewContext()
           
static void bindNewContext(java.lang.String groupName)
           
abstract  boolean contains(java.lang.Object o)
           
<T> T
create(java.lang.Class<T> tClass)
           
<T> T
create(java.lang.String className)
           
 ObjectContext.ChangeWatch createChangeWatch()
           
static ObjectContext createContext()
           
 ObjectContext createNestedContext()
          Create a nested ObjectContext.
abstract  java.util.List executeNamedQuery(java.lang.String s, java.util.Map<java.lang.String,java.lang.Object> params)
           
<T> java.util.List<T>
executeQuery(java.lang.Class<T> tClass, java.util.Map<java.lang.String,java.lang.Object> fieldValues)
           
 java.util.List executeQuery(QuerySpecification spec)
           
abstract
<T> T
find(java.lang.Class<T> tClass, java.lang.Object primaryKey)
           
<T> T
findOne(java.lang.Class<T> tClass, java.util.Map<java.lang.String,java.lang.Object> fieldValues)
           
static ObjectContext get()
           
abstract  java.lang.Object getDelegate()
           
 ObjectContext getParentContext()
          Returns parent context for a nested child context
abstract  java.lang.Object getPrimaryKey(java.lang.Object o)
           
static ObjectContext.Provider getProvider()
           
 java.lang.String groupName_debug()
           
abstract  void lock(java.lang.Object o)
           
abstract
<T> T
merge(T t)
           
static ObjectContext peek()
           
abstract  QueryProcessor processorForQuery(QuerySpecification spec)
           
 void recordForInsert(java.lang.Object o)
          Records object for insert on next save().
static void registerQueryFilterProviderForEntityClass(java.lang.String entityClass, ObjectContext.EntityQueryFilterProvider filter)
           
abstract  void remove(java.lang.Object o)
           
abstract  void save()
           
static void setProvider(ObjectContext.Provider provider)
           
 TypeProvider typeProvider(java.lang.String entityName)
           
static void unbind()
           
static void unregisterQueryFilterProviderForEntityClass(java.lang.String entityClass)
           
 java.util.Map userMap()
          Map for storage of additional state associated with this context
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ObjectContext

public ObjectContext()
Method Detail

get

public static ObjectContext get()

peek

public static ObjectContext peek()

create

public <T> T create(java.lang.String className)

create

public <T> T create(java.lang.Class<T> tClass)

recordForInsert

public void recordForInsert(java.lang.Object o)
Records object for insert on next save(). Some contexts may persist here, others may defer the persist until just pre-save, to give the newly created object a change to be fully initialized prior to persist()

Parameters:
o - object instance to be inserted

userMap

public java.util.Map userMap()
Map for storage of additional state associated with this context


merge

public abstract <T> T merge(T t)

remove

public abstract void remove(java.lang.Object o)

find

public abstract <T> T find(java.lang.Class<T> tClass,
                           java.lang.Object primaryKey)

findOne

public <T> T findOne(java.lang.Class<T> tClass,
                     java.util.Map<java.lang.String,java.lang.Object> fieldValues)

getPrimaryKey

public abstract java.lang.Object getPrimaryKey(java.lang.Object o)

save

public abstract void save()

lock

public abstract void lock(java.lang.Object o)

contains

public abstract boolean contains(java.lang.Object o)

executeQuery

public java.util.List executeQuery(QuerySpecification spec)

executeNamedQuery

public abstract java.util.List executeNamedQuery(java.lang.String s,
                                                 java.util.Map<java.lang.String,java.lang.Object> params)

getDelegate

public abstract java.lang.Object getDelegate()

executeQuery

public <T> java.util.List<T> executeQuery(java.lang.Class<T> tClass,
                                          java.util.Map<java.lang.String,java.lang.Object> fieldValues)

processorForQuery

public abstract QueryProcessor processorForQuery(QuerySpecification spec)

typeProvider

public TypeProvider typeProvider(java.lang.String entityName)

registerQueryFilterProviderForEntityClass

public static void registerQueryFilterProviderForEntityClass(java.lang.String entityClass,
                                                             ObjectContext.EntityQueryFilterProvider filter)

unregisterQueryFilterProviderForEntityClass

public static void unregisterQueryFilterProviderForEntityClass(java.lang.String entityClass)

bind

public static void bind(ObjectContext ctx)

unbind

public static void unbind()

bindNewContext

public static void bindNewContext(java.lang.String groupName)

bindNewContext

public static void bindNewContext()

bindNestedContext

public static void bindNestedContext()

createContext

public static ObjectContext createContext()

createChangeWatch

public ObjectContext.ChangeWatch createChangeWatch()

groupName_debug

public java.lang.String groupName_debug()

getProvider

public static ObjectContext.Provider getProvider()

setProvider

public static void setProvider(ObjectContext.Provider provider)

createNestedContext

public ObjectContext createNestedContext()
Create a nested ObjectContext. Nested contexts have visibility to their parent's uncommited changes, and commit to their parent's in-memory objects rather than to to database. Nested Contexts are useful for modal UI flows, where an operation may be cancelled and doing so should leave the parent's objects unaffected -- by "sandboxing" these changes in copies of objects in a nested context, the Cancel is handled by simply discarding the child context, and Okay by doing a save(). NOTE: not all ObjectContext implementations can support Nested Contexts. (e.g. such support is not part of the JPA EntityManager specification)

Returns:
the new child context instance

getParentContext

public ObjectContext getParentContext()
Returns parent context for a nested child context

Returns:
the parent context, or null if not nested.


AribaWeb User Interface Development Framework
Copyright © 2000-2014 Ariba, Inc. All Rights Reserved.