org.springframework.richclient.widget.editor.provider
Class AbstractDataProvider

Show UML class diagram
java.lang.Object
  extended by java.util.Observable
      extended by org.springframework.richclient.widget.editor.provider.AbstractDataProvider
All Implemented Interfaces:
DataProvider, DataProviderEventSource
Direct Known Subclasses:
ItemDataProvider, SupplierDataProvider

public abstract class AbstractDataProvider
extends Observable
implements DataProvider

Base implementation for DataProviders.

Author:
Jan Hoskens

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.springframework.richclient.widget.editor.provider.DataProvider
DataProvider.RefreshPolicy
 
Constructor Summary
AbstractDataProvider()
           
AbstractDataProvider(String id)
           
 
Method Summary
 void addDataProviderListener(DataProviderListener dataProviderListener)
          
 Object clone(Object sampleData)
           
 Object create(Object newData)
           
 void delete(Object dataToRemove)
           
 Object doCreate(Object newData)
           
 void doDelete(Object dataToRemove)
           
 Object doUpdate(Object updatedData)
           
 boolean exists(Object data)
           
 Object getDetailObject(Object selectedObject, boolean forceLoad)
          A basic implementation that directs the necessary logic to isDetailObject(Object) and loadDetailObject(Object).
 String getId()
           
 DataProvider.RefreshPolicy getRefreshPolicy()
           
 Object getSimpleObject(Object baseObject)
           
protected  boolean isDetailObject(Object objectToCheck)
          Check if the given object is a detailed object or not.
protected  Object loadDetailObject(Object baseObject)
          Load the detailed object from the back-end.
 Object newInstance(Object criteria)
           
 void removeDataProviderListener(DataProviderListener dataProviderListener)
          
 void setBaseCriteria(Object criteria)
           
 boolean supportsBaseCriteria()
          
 Object update(Object updatedData)
           
 
Methods inherited from class java.util.Observable
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.springframework.richclient.widget.editor.provider.DataProvider
getList, supportsClone, supportsCreate, supportsDelete, supportsFiltering, supportsUpdate
 

Constructor Detail

AbstractDataProvider

public AbstractDataProvider()

AbstractDataProvider

public AbstractDataProvider(String id)
Method Detail

getId

public String getId()

getDetailObject

public final Object getDetailObject(Object selectedObject,
                                    boolean forceLoad)
A basic implementation that directs the necessary logic to isDetailObject(Object) and loadDetailObject(Object).

Specified by:
getDetailObject in interface DataProvider
Parameters:
selectedObject - the object that must be used to fetch the detailed one.
forceLoad - if true always go to back-end and load the object; if false a shortcut can be used to return an already detailed selected object.

isDetailObject

protected boolean isDetailObject(Object objectToCheck)
Check if the given object is a detailed object or not. If it is already detailed, the object can be returned as-is instead of loading it from the back-end.

Parameters:
objectToCheck - object to check.
Returns:
true if the object is a detailed one.

loadDetailObject

protected Object loadDetailObject(Object baseObject)
Load the detailed object from the back-end. Note that although the baseObject can be detailed, you MUST fetch the object from the back-end in any case in this method.

Parameters:
baseObject - object containing enough information to fetch a detailed object from the back-end.
Returns:
the detailed object retrieved from the back-end.

clone

public Object clone(Object sampleData)
Specified by:
clone in interface DataProvider

update

public final Object update(Object updatedData)
Specified by:
update in interface DataProvider

doUpdate

public Object doUpdate(Object updatedData)

delete

public final void delete(Object dataToRemove)
Specified by:
delete in interface DataProvider

doDelete

public void doDelete(Object dataToRemove)

create

public final Object create(Object newData)
Specified by:
create in interface DataProvider

doCreate

public Object doCreate(Object newData)

newInstance

public Object newInstance(Object criteria)
Specified by:
newInstance in interface DataProvider

addDataProviderListener

public void addDataProviderListener(DataProviderListener dataProviderListener)

Specified by:
addDataProviderListener in interface DataProviderEventSource

removeDataProviderListener

public void removeDataProviderListener(DataProviderListener dataProviderListener)

Specified by:
removeDataProviderListener in interface DataProviderEventSource

supportsBaseCriteria

public boolean supportsBaseCriteria()

Specified by:
supportsBaseCriteria in interface DataProvider

setBaseCriteria

public void setBaseCriteria(Object criteria)
Specified by:
setBaseCriteria in interface DataProvider

exists

public boolean exists(Object data)
Specified by:
exists in interface DataProvider

getRefreshPolicy

public DataProvider.RefreshPolicy getRefreshPolicy()
Specified by:
getRefreshPolicy in interface DataProvider

getSimpleObject

public Object getSimpleObject(Object baseObject)
Specified by:
getSimpleObject in interface DataProvider


Copyright © 2004-2009 The Spring Framework. All Rights Reserved.