public abstract class OADataSource extends Object implements OADataSourceInterface
There are methods defined for updating, deleting, and using Queries to retrieve Objects. Queries are based on the structure of Objects and not on the structure of the physical dataSource, and support property paths base on the object model.
The OAObject and Hub Collections have methods to automatically and naturally work with dataSources, without requiring any direct access to dataSource methods.
OADataSource has static methods that are used to manage all created OADataSources.
Subclasses of OADataSource register themselves with the static OADataSource so that they can be found and
used by Objects based on the Object Class, without requiring direct access to the OADataSource object.
For more information about this package, see documentation.
getDataSource(Class)
,
OASelect
Modifier and Type | Field and Description |
---|---|
protected boolean |
bAssignNumberOnCreate |
protected boolean |
bEnable |
protected boolean |
bLast |
protected static int |
dataSourceChangeCnter |
protected String |
guid |
protected String |
name |
Constructor and Description |
---|
OADataSource()
Default constructor that will add this DataSource to list of DataSources
|
OADataSource(boolean bRegister) |
Modifier and Type | Method and Description |
---|---|
abstract void |
assignId(OAObject obj)
Called by OAObject to initialize a new Object.
|
void |
close()
Close this DataSource.
|
static void |
closeAll()
Static method to close all registered DataSources.
|
int |
count(Class selectClass,
OAObject whereObject,
String propertyNameFromWhereObject) |
int |
count(Class selectClass,
OAObject whereObject,
String propertyNameFromWhereObject,
int max) |
int |
count(Class selectClass,
OAObject whereObject,
String extraWhere,
Object[] params,
String propertyNameFromWhereObject) |
int |
count(Class selectClass,
OAObject whereObject,
String extraWhere,
Object[] params,
String propertyNameFromWhereObject,
int max) |
int |
count(Class selectClass,
String queryWhere) |
int |
count(Class selectClass,
String queryWhere,
int max) |
int |
count(Class selectClass,
String queryWhere,
Object param) |
int |
count(Class selectClass,
String queryWhere,
Object[] params) |
int |
count(Class selectClass,
String queryWhere,
Object[] params,
int max) |
abstract int |
count(Class selectClass,
String queryWhere,
Object[] params,
OAObject whereObject,
String propertyFromWhereObject,
String extraWhere,
int max)
Perform a count on the DataSource using a query.
|
int |
count(Class selectClass,
String queryWhere,
Object param,
int max) |
abstract int |
countPassthru(Class selectClass,
String queryWhere,
int max)
Performs a count using native query language for DataSource.
|
int |
countPassthru(String queryWhere) |
int |
countPassthru(String queryWhere,
int max) |
abstract void |
delete(OAObject obj)
Remove an Object from a DataSource.
|
abstract Object |
execute(String command)
Execute a command on the dataSource.
|
protected void |
finalize() |
boolean |
getAllowIdChange()
Defaults to return true, allowing object Id properties to be changed.
|
boolean |
getAssignIdOnCreate()
Used to know if autonumber properties should be assigned on create or on save.
|
static int |
getChangeCounter() |
static OADataSource |
getDataSource(Class clazz)
Find the dataSource that supports a given Class
|
static OADataSource |
getDataSource(Class clazz,
OAFilter filter) |
static OADataSource[] |
getDataSources()
Get all registered/loaded DataSources.
|
boolean |
getEnabled() |
String |
getGuid()
Seed value to use when creating GUID for seq assigned object keys.
|
static Vector |
getInfo()
Returns a Vector of Strings listing all registered OADataSources and status.
|
void |
getInfo(Vector vec)
Adds Strings to Vector, listing information about DataSource.
|
int |
getMaxLength(Class c,
String propertyName)
Returns max length allowed for a property.
|
String |
getName()
Name of this dataSource
|
static Object |
getObject(Class clazz,
int id)
Used to retreive a single object from DataSource.
|
static Object |
getObject(Class clazz,
long id)
Used to retrieve a single object from DataSource.
|
static Object |
getObject(Class clazz,
OAObjectKey key)
Used to retreive a single object from DataSource.
|
static Object |
getObject(Class clazz,
Object id)
Used to retreive a single object from DataSource.
|
static Object |
getObject(Class clazz,
String id)
Used to retrieve a single object from DataSource.
|
Object |
getObject(OAObjectInfo oi,
Class clazz,
OAObjectKey key,
boolean bDirty) |
int |
getPosition()
Returns the position of this OADataSource within the list of registered datasources.
|
abstract byte[] |
getPropertyBlobValue(OAObject obj,
String propertyName)
Select BLOB (large byte[]) property
|
boolean |
getSupportsPreCount()
Can this datasource get a count of the objects that will be selected.
|
abstract void |
insert(OAObject obj)
Add/Insert a new Object into DataSource.
|
abstract void |
insertWithoutReferences(OAObject obj)
Add/Insert a new Object into DataSource, without references (fkeys).
|
boolean |
isAvailable()
Used to know is datasoure is currently available.
|
boolean |
isClassSupported(Class clazz) |
abstract boolean |
isClassSupported(Class clazz,
OAFilter filter)
Used by static OADataSource to know if a registered OADataSource subclass
supports a specific Class.
|
void |
removeFromList() |
void |
reopen(int pos)
This can be called after a close has been done to make the datasoruce available again.
|
void |
save(OAObject obj)
Used to save an object to DataSource.
|
OADataSourceIterator |
select(Class selectClass) |
OADataSourceIterator |
select(Class selectClass,
OAObject whereObject,
String extraWhere,
Object[] args,
String propertyNameFromWhereObject,
String queryOrder,
boolean bDirty) |
OADataSourceIterator |
select(Class selectClass,
OAObject whereObject,
String extraWhere,
Object[] args,
String propertyNameFromWhereObject,
String queryOrder,
int max,
boolean bDirty) |
OADataSourceIterator |
select(Class selectClass,
OAObject whereObject,
String extraWhere,
Object[] args,
String propertyNameFromWhereObject,
String queryOrder,
int max,
OAFilter filter,
boolean bDirty) |
OADataSourceIterator |
select(Class selectClass,
OAObject whereObject,
String propertyNameFromWhereObject,
String queryOrder,
boolean bDirty) |
OADataSourceIterator |
select(Class selectClass,
OAObject whereObject,
String propertyNameFromWhereObject,
String queryOrder,
int max,
boolean bDirty) |
OADataSourceIterator |
select(Class selectClass,
OAObject whereObject,
String propertyNameFromWhereObject,
String queryOrder,
int max,
OAFilter filter,
boolean bDirty) |
OADataSourceIterator |
select(Class selectClass,
String queryWhere) |
OADataSourceIterator |
select(Class selectClass,
String queryWhere,
Object[] params,
String queryOrder,
boolean bDirty) |
OADataSourceIterator |
select(Class selectClass,
String queryWhere,
Object[] params,
String queryOrder,
int max,
boolean bDirty) |
OADataSourceIterator |
select(Class selectClass,
String queryWhere,
Object[] params,
String queryOrder,
int max,
OAFilter filter,
boolean bDirty) |
abstract OADataSourceIterator |
select(Class selectClass,
String queryWhere,
Object[] params,
String queryOrder,
OAObject whereObject,
String propertyFromWhereObject,
String extraWhere,
int max,
OAFilter filter,
boolean bDirty)
Perform a query to retrieve objects from DataSource.
|
OADataSourceIterator |
select(Class selectClass,
String queryWhere,
Object param,
String queryOrder,
boolean bDirty) |
OADataSourceIterator |
select(Class selectClass,
String queryWhere,
Object param,
String queryOrder,
int max,
boolean bDirty) |
OADataSourceIterator |
select(Class selectClass,
String queryWhere,
Object param,
String queryOrder,
int max,
OAFilter filter,
boolean bDirty) |
OADataSourceIterator |
select(Class selectClass,
String queryWhere,
String orderBy) |
OADataSourceIterator |
select(Class selectClass,
String queryWhere,
String queryOrder,
boolean bDirty) |
OADataSourceIterator |
select(Class selectClass,
String queryWhere,
String queryOrder,
int max,
boolean bDirty) |
OADataSourceIterator |
select(Class selectClass,
String queryWhere,
String queryOrder,
int max,
OAFilter filter,
boolean bDirty) |
OADataSourceIterator |
selectPassthru(Class selectClass,
String query,
boolean bDirty) |
OADataSourceIterator |
selectPassthru(Class selectClass,
String query,
int max,
boolean bDirty) |
OADataSourceIterator |
selectPassthru(Class selectClass,
String query,
int max,
OAFilter filter,
boolean bDirty) |
OADataSourceIterator |
selectPassthru(Class selectClass,
String query,
String queryOrder,
boolean bDirty) |
OADataSourceIterator |
selectPassthru(Class selectClass,
String query,
String queryOrder,
int max,
boolean bDirty) |
abstract OADataSourceIterator |
selectPassthru(Class selectClass,
String queryWhere,
String queryOrder,
int max,
OAFilter filter,
boolean bDirty)
Performs a select using native query language for DataSource.
|
void |
setAssignIdOnCreate(boolean b)
Used to know if autonumber properties should be assigned on create or on save.
|
void |
setEnabled(boolean b)
Used to turn on/off a DataSource.
|
void |
setGuid(String gid)
Seed value to use when creating GUID for seq assigned object keys.
|
void |
setLast(boolean b)
Used to have a DataSource search last when finding a DataSource.
|
void |
setName(String name)
Name of this dataSource
|
void |
setPosition(int pos)
Sets the position of this OADataSource within the list of datasources.
|
abstract boolean |
supportsStorage()
Returns true if this dataSource supports selecting/storing/deleting.
|
String |
toString()
Returns the Name of this dataSource.
|
void |
update(OAObject obj) |
abstract void |
update(OAObject obj,
String[] includeProperties,
String[] excludeProperties)
Update an existing Object to DataSource.
|
abstract void |
updateMany2ManyLinks(OAObject masterObject,
OAObject[] adds,
OAObject[] removes,
String propFromMaster)
Used by dataSources to update special requirements for handling Many2Many relationships (ex:Link Table).
|
boolean |
willCreatePropertyValue(OAObject object,
String propertyName)
Returns true if the dataSource will set the property value before saving.
|
protected String name
protected boolean bLast
protected boolean bAssignNumberOnCreate
protected String guid
protected boolean bEnable
protected static int dataSourceChangeCnter
public OADataSource()
getDataSources()
public OADataSource(boolean bRegister)
public static OADataSource[] getDataSources()
public static OADataSource getDataSource(Class clazz)
setEnabled(boolean)
public static OADataSource getDataSource(Class clazz, OAFilter filter)
public void setGuid(String gid)
public String getGuid()
public void setEnabled(boolean b)
setEnabled
in interface OADataSourceInterface
public boolean getEnabled()
getEnabled
in interface OADataSourceInterface
public static Object getObject(Class clazz, String id)
id
- is the property key value for the object.public static Object getObject(Class clazz, int id)
id
- is the property key value for the object.public static Object getObject(Class clazz, long id)
id
- is the property key value for the object.public static Object getObject(Class clazz, Object id)
id
- is the property key value for the object.public static Object getObject(Class clazz, OAObjectKey key)
key
- is the object key for the object.public Object getObject(OAObjectInfo oi, Class clazz, OAObjectKey key, boolean bDirty)
getObject
in interface OADataSourceInterface
public void setAssignIdOnCreate(boolean b)
setAssignIdOnCreate
in interface OADataSourceInterface
b
- if true, assign autonumber property when object is created, else assign when object is saved.public boolean getAssignIdOnCreate()
getAssignIdOnCreate
in interface OADataSourceInterface
public boolean isAvailable()
isAvailable
in interface OADataSourceInterface
public static Vector getInfo()
public void getInfo(Vector vec)
public int getMaxLength(Class c, String propertyName)
getMaxLength
in interface OADataSourceInterface
public static int getChangeCounter()
protected void finalize() throws Throwable
public static void closeAll()
public void close()
close
in interface OADataSourceInterface
public void removeFromList()
public void reopen(int pos)
reopen
in interface OADataSourceInterface
pos
- search location in list of datasources.public void setLast(boolean b)
b
- If true, then this dataSource will be used last in list of DataSourcespublic void setPosition(int pos)
public int getPosition()
public void setName(String name)
public String getName()
public String toString()
public abstract boolean isClassSupported(Class clazz, OAFilter filter)
isClassSupported
in interface OADataSourceInterface
clazz
- classfilter
- used to query the datasourcepublic boolean isClassSupported(Class clazz)
isClassSupported
in interface OADataSourceInterface
public abstract void updateMany2ManyLinks(OAObject masterObject, OAObject[] adds, OAObject[] removes, String propFromMaster)
Uses the hub.masterObject, Hub.getRemovedObjects(), Hub.getAddedObjects()
to find out which objects were added or removed.
This is called by OAObject.cascadeSave/Delete methods
updateMany2ManyLinks
in interface OADataSourceInterface
public abstract void insert(OAObject obj)
Called directly by OAObject.save()
insert
in interface OADataSourceInterface
public abstract void insertWithoutReferences(OAObject obj)
Called directly by OAObject.saveWithoutReferences() to save a reference while saving another Object.
insertWithoutReferences
in interface OADataSourceInterface
OAObject.save()
public abstract void update(OAObject obj, String[] includeProperties, String[] excludeProperties)
Called directly by OAObject.save()
update
in interface OADataSourceInterface
public void update(OAObject obj)
update
in interface OADataSourceInterface
public abstract void delete(OAObject obj)
delete
in interface OADataSourceInterface
public void save(OAObject obj)
If object is an OAObject, then update() or insert() will be called, else nothing is done.
save
in interface OADataSourceInterface
public abstract int count(Class selectClass, String queryWhere, Object[] params, OAObject whereObject, String propertyFromWhereObject, String extraWhere, int max)
count
in interface OADataSourceInterface
selectClass
- Class to perform query onqueryWhere
- query using property paths based on Object structure.OASelect
public int count(Class selectClass, OAObject whereObject, String propertyNameFromWhereObject, int max)
public int count(Class selectClass, OAObject whereObject, String extraWhere, Object[] params, String propertyNameFromWhereObject, int max)
public int count(Class selectClass, OAObject whereObject, String extraWhere, Object[] params, String propertyNameFromWhereObject)
public abstract int countPassthru(Class selectClass, String queryWhere, int max)
countPassthru
in interface OADataSourceInterface
queryWhere
- query based on DataSource structure.OASelect
public int countPassthru(String queryWhere, int max)
public int countPassthru(String queryWhere)
public abstract boolean supportsStorage()
supportsStorage
in interface OADataSourceInterface
public abstract OADataSourceIterator select(Class selectClass, String queryWhere, Object[] params, String queryOrder, OAObject whereObject, String propertyFromWhereObject, String extraWhere, int max, OAFilter filter, boolean bDirty)
See OASelect for complete description on selects/queriess.
select
in interface OADataSourceInterface
selectClass
- Class of object to create and returnqueryWhere
- query String using property paths based on Object structure. DataSourceparams
- list of values to replace '?' in queryWhere clause.filter
- the datasource filter, used if the ds does not support queries (ex: sql)
will convert query to native query language of the datasoure.queryOrder
- sort orderwhereObject
- master object to select from.extraWhere
- added to the query.bDirty
- true if objects should be fully populated, even if they are already loaded (in cache, etc).OASelect
public OADataSourceIterator select(Class selectClass)
public OADataSourceIterator select(Class selectClass, String queryWhere)
public OADataSourceIterator select(Class selectClass, String queryWhere, String orderBy)
public OADataSourceIterator select(Class selectClass, String queryWhere, String queryOrder, int max, OAFilter filter, boolean bDirty)
public OADataSourceIterator select(Class selectClass, String queryWhere, String queryOrder, int max, boolean bDirty)
public OADataSourceIterator select(Class selectClass, String queryWhere, String queryOrder, boolean bDirty)
public OADataSourceIterator select(Class selectClass, String queryWhere, Object[] params, String queryOrder, int max, boolean bDirty)
public OADataSourceIterator select(Class selectClass, String queryWhere, Object[] params, String queryOrder, boolean bDirty)
public OADataSourceIterator select(Class selectClass, String queryWhere, Object[] params, String queryOrder, int max, OAFilter filter, boolean bDirty)
public OADataSourceIterator select(Class selectClass, String queryWhere, Object param, String queryOrder, int max, OAFilter filter, boolean bDirty)
public OADataSourceIterator select(Class selectClass, String queryWhere, Object param, String queryOrder, int max, boolean bDirty)
public OADataSourceIterator select(Class selectClass, String queryWhere, Object param, String queryOrder, boolean bDirty)
public OADataSourceIterator select(Class selectClass, OAObject whereObject, String extraWhere, Object[] args, String propertyNameFromWhereObject, String queryOrder, int max, OAFilter filter, boolean bDirty)
public OADataSourceIterator select(Class selectClass, OAObject whereObject, String extraWhere, Object[] args, String propertyNameFromWhereObject, String queryOrder, int max, boolean bDirty)
public OADataSourceIterator select(Class selectClass, OAObject whereObject, String extraWhere, Object[] args, String propertyNameFromWhereObject, String queryOrder, boolean bDirty)
public OADataSourceIterator select(Class selectClass, OAObject whereObject, String propertyNameFromWhereObject, String queryOrder, int max, OAFilter filter, boolean bDirty)
public OADataSourceIterator select(Class selectClass, OAObject whereObject, String propertyNameFromWhereObject, String queryOrder, int max, boolean bDirty)
public OADataSourceIterator select(Class selectClass, OAObject whereObject, String propertyNameFromWhereObject, String queryOrder, boolean bDirty)
public abstract OADataSourceIterator selectPassthru(Class selectClass, String queryWhere, String queryOrder, int max, OAFilter filter, boolean bDirty)
selectPassthru
in interface OADataSourceInterface
selectClass
- Class of object to create and returnqueryWhere
- query based on DataSource structure.OASelect
public OADataSourceIterator selectPassthru(Class selectClass, String query, int max, OAFilter filter, boolean bDirty)
public OADataSourceIterator selectPassthru(Class selectClass, String query, int max, boolean bDirty)
public OADataSourceIterator selectPassthru(Class selectClass, String query, boolean bDirty)
public OADataSourceIterator selectPassthru(Class selectClass, String query, String queryOrder, int max, boolean bDirty)
public OADataSourceIterator selectPassthru(Class selectClass, String query, String queryOrder, boolean bDirty)
public abstract Object execute(String command)
execute
in interface OADataSourceInterface
command
- DataSource native command.public abstract void assignId(OAObject obj)
assignId
in interface OADataSourceInterface
public boolean willCreatePropertyValue(OAObject object, String propertyName)
willCreatePropertyValue
in interface OADataSourceInterface
public boolean getAllowIdChange()
getAllowIdChange
in interface OADataSourceInterface
public abstract byte[] getPropertyBlobValue(OAObject obj, String propertyName)
getPropertyBlobValue
in interface OADataSourceInterface
public boolean getSupportsPreCount()
getSupportsPreCount
in interface OADataSourceInterface
Copyright © 1999–2019 ViaOA. All rights reserved.