H
- type of owning objectR
- Type of remote objectT
- target type of SQLValue
public abstract class RemoteSQLValue<H extends DataObject,R extends DataObject,T> extends java.lang.Object implements GroupingSQLValue<T>
SQLValue
that needs to follow a remote reference to access its data.
This class performs the de-reference in java rather than using a join. However the embedded IndexedSQLValue
may perform a join.Modifier and Type | Field and Description |
---|---|
static Feature |
CACHE_REMOTE_ACCESSOR_FEATURE |
Constructor and Description |
---|
RemoteSQLValue(AppContext c,
IndexedSQLValue<H,R> a) |
Modifier and Type | Method and Description |
---|---|
int |
add(java.lang.StringBuilder sb,
boolean qualify)
Add the expression to a StringBuilder
|
AppContext |
getContext() |
protected Logger |
getLogger() |
java.util.List<PatternArgument> |
getParameters(java.util.List<PatternArgument> list)
Add parameters for this value to a list.
|
IndexedSQLValue<H,R> |
getReferenceValue()
SQLValue for remote object Reference
|
abstract T |
getRemoteValue(R o)
Get the remote value from the referenced object
|
abstract T |
getRemoteValueFromNull()
get the remote value corresponding to a null reference.
|
T |
getRemoteValueFromReference(IndexedReference<R> ref) |
SQLFilter |
getRequiredFilter()
Get an SQLFilter required to be added to the filter set.
|
T |
makeObject(java.sql.ResultSet rs,
int pos)
Extract a result of the expression from a ResultSet into an object of the specified type.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addGroup, checkContentsCanGroup, getGroupParameters, groupingIsomorphic
public static final Feature CACHE_REMOTE_ACCESSOR_FEATURE
public RemoteSQLValue(AppContext c, IndexedSQLValue<H,R> a)
public IndexedSQLValue<H,R> getReferenceValue()
public T getRemoteValueFromReference(IndexedReference<R> ref)
public abstract T getRemoteValue(R o)
o
- public abstract T getRemoteValueFromNull()
public AppContext getContext()
protected Logger getLogger()
public final T makeObject(java.sql.ResultSet rs, int pos) throws DataException, java.sql.SQLException
SQLValue
makeObject
in interface SQLValue<T>
rs
- ResultSetDataException
java.sql.SQLException
public int add(java.lang.StringBuilder sb, boolean qualify)
SQLValue
public java.util.List<PatternArgument> getParameters(java.util.List<PatternArgument> list)
SQLValue
getParameters
in interface SQLValue<T>
list
- to modifypublic SQLFilter getRequiredFilter()
SQLValue
getRequiredFilter
in interface SQLValue<T>