public abstract class PropertyTargetClassificationFactory<T extends AccountingClassification> extends uk.ac.ed.epcc.webapp.model.ClassificationFactory<T> implements ExpressionTargetFactory<T>
| Modifier and Type | Class and Description |
|---|---|
class |
PropertyTargetClassificationFactory.PropertyTargetClassificationTableRegistry |
uk.ac.ed.epcc.webapp.model.ClassificationFactory.ClassificationCreator, uk.ac.ed.epcc.webapp.model.ClassificationFactory.ClassificationTableRegistry, uk.ac.ed.epcc.webapp.model.ClassificationFactory.ClassificationUpdater<C extends uk.ac.ed.epcc.webapp.model.Classification>, uk.ac.ed.epcc.webapp.model.ClassificationFactory.NameInputuk.ac.ed.epcc.webapp.model.data.DataObjectFactory.CounterMapper, uk.ac.ed.epcc.webapp.model.data.DataObjectFactory.DataObjectAcceptFilter, uk.ac.ed.epcc.webapp.model.data.DataObjectFactory.DataObjectInput, uk.ac.ed.epcc.webapp.model.data.DataObjectFactory.DataObjectIntegerInput, uk.ac.ed.epcc.webapp.model.data.DataObjectFactory.DestFilter<T extends uk.ac.ed.epcc.webapp.model.data.DataObject>, uk.ac.ed.epcc.webapp.model.data.DataObjectFactory.ExistsMapper, uk.ac.ed.epcc.webapp.model.data.DataObjectFactory.FilterAdapter, uk.ac.ed.epcc.webapp.model.data.DataObjectFactory.FilterCounter, uk.ac.ed.epcc.webapp.model.data.DataObjectFactory.FilterExists, uk.ac.ed.epcc.webapp.model.data.DataObjectFactory.FilterIterator, uk.ac.ed.epcc.webapp.model.data.DataObjectFactory.FilterSet, uk.ac.ed.epcc.webapp.model.data.DataObjectFactory.Finder, uk.ac.ed.epcc.webapp.model.data.DataObjectFactory.MatchFilter, uk.ac.ed.epcc.webapp.model.data.DataObjectFactory.ReferenceAcceptFilter<R extends uk.ac.ed.epcc.webapp.Indexed,T extends uk.ac.ed.epcc.webapp.model.data.DataObject>, uk.ac.ed.epcc.webapp.model.data.DataObjectFactory.ReferencedAdapter<I extends uk.ac.ed.epcc.webapp.Indexed>, uk.ac.ed.epcc.webapp.model.data.DataObjectFactory.ReferenceIterator<I extends uk.ac.ed.epcc.webapp.Indexed>, uk.ac.ed.epcc.webapp.model.data.DataObjectFactory.RemoteFilter<T extends uk.ac.ed.epcc.webapp.model.data.DataObject>, uk.ac.ed.epcc.webapp.model.data.DataObjectFactory.SortingDataObjectInput, uk.ac.ed.epcc.webapp.model.data.DataObjectFactory.TimeAcceptFilter<T extends uk.ac.ed.epcc.webapp.model.data.DataObject>, uk.ac.ed.epcc.webapp.model.data.DataObjectFactory.TimeFilter| Constructor and Description |
|---|
PropertyTargetClassificationFactory(uk.ac.ed.epcc.webapp.AppContext ctx,
java.lang.String homeTable) |
| Modifier and Type | Method and Description |
|---|---|
<I> boolean |
compatible(PropExpression<I> expr)
Check if the expression is compatible with this class.
|
boolean |
compatible(RecordSelector sel)
Is the RecordSelector compatible with this class.
|
T |
find(RecordSelector sel) |
protected abstract AccessorMap<T> |
getAccessorMap() |
protected abstract PropExpressionMap |
getDerivedProperties() |
<R> uk.ac.ed.epcc.webapp.jdbc.filter.BaseFilter<T> |
getFilter(PropExpression<R> expr,
uk.ac.ed.epcc.webapp.jdbc.filter.MatchCondition match,
R value)
get a filter based on comparing a PropExpression to a value.
|
protected uk.ac.ed.epcc.webapp.jdbc.filter.BaseFilter<T> |
getFilter(RecordSelector selector)
Get a filter from a
RecordSelector |
java.util.Iterator<T> |
getIterator(RecordSelector sel)
Get an Iterator over selected records.
|
java.util.Iterator<T> |
getIterator(RecordSelector sel,
int skip,
int count)
Get an Iterator over selected records.
|
<R> uk.ac.ed.epcc.webapp.jdbc.filter.BaseFilter<T> |
getNullFilter(PropExpression<R> expr,
boolean is_null)
get a filter that checks null status of an expression.
|
<I> uk.ac.ed.epcc.webapp.jdbc.filter.OrderFilter<T> |
getOrderFilter(boolean descending,
PropExpression<I> expr) |
uk.ac.ed.epcc.webapp.jdbc.filter.BaseFilter<T> |
getPeriodFilter(uk.ac.ed.epcc.webapp.time.Period period,
PropExpression<java.util.Date> start,
PropExpression<java.util.Date> end,
OverlapType type,
long cutoff)
Generate an overlap filter
|
long |
getRecordCount(RecordSelector selector)
get the number of records matching the selector
|
<R> uk.ac.ed.epcc.webapp.jdbc.filter.BaseFilter<T> |
getRelationFilter(PropExpression<R> left,
uk.ac.ed.epcc.webapp.jdbc.filter.MatchCondition match,
PropExpression<R> right)
get a filter that compares two expressions.
|
<R> uk.ac.ed.epcc.webapp.jdbc.expr.SQLExpression<R> |
getSQLExpression(PropExpression<R> exp) |
java.lang.Class<? super T> |
getTarget() |
<PT> java.util.Set<PT> |
getValues(PropertyTag<PT> tag,
RecordSelector selector)
Gets the distinct property values for the set of records identified by the RecordSelector
|
<P> boolean |
hasProperty(PropertyTag<P> tag)
Check if the specified property is defined.
|
protected uk.ac.ed.epcc.webapp.model.data.DataObject |
makeBDO(uk.ac.ed.epcc.webapp.model.data.Repository.Record res) |
protected PropertyTargetClassificationFactory.PropertyTargetClassificationTableRegistry |
makeTableRegistry() |
allowNameChange, compareTo, findByName, getDataCache, getDefaultTableSpecification, getFormCreator, getFormUpdate, getNameInput, getOrder, getTranslations, makeByName, postCreateTableSetup, postMakeByNamegetTableTransitionID, getTableTransitionRegistry, resetStructureall, allowPreSelect, canCreate, canUpdate, customiseForm, equals, exists, find, find, find, find, find, getAllIterator, getComposite, getComposites, getConfigTag, getContext, getCount, getDefaults, getIndex, getInput, getInput, getIterator, getLogger, getMaxIdentifierLength, getNullable, getOptional, getProperty, getReferenced, getReferenceFieldType, getResult, getSelectFilter, getSelectors, getSupress, getTag, getUniqueIdName, hashCode, isMine, isMine, isMyReference, isValid, makeBDO, makeObject, makeRecord, makeReference, makeReference, makeSet, OrderBy, release, restrictDefaultInput, setContext, setContext, setContextWithMake, setProperty, toStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitgetFinderpublic PropertyTargetClassificationFactory(uk.ac.ed.epcc.webapp.AppContext ctx,
java.lang.String homeTable)
protected uk.ac.ed.epcc.webapp.model.data.DataObject makeBDO(uk.ac.ed.epcc.webapp.model.data.Repository.Record res)
throws uk.ac.ed.epcc.webapp.model.data.Exceptions.DataFault
makeBDO in class uk.ac.ed.epcc.webapp.model.ClassificationFactory<T extends AccountingClassification>uk.ac.ed.epcc.webapp.model.data.Exceptions.DataFaultpublic java.lang.Class<? super T> getTarget()
getTarget in interface uk.ac.ed.epcc.webapp.model.data.reference.IndexedProducer<T extends AccountingClassification>getTarget in interface uk.ac.ed.epcc.webapp.Targetted<T extends AccountingClassification>getTarget in class uk.ac.ed.epcc.webapp.model.ClassificationFactory<T extends AccountingClassification>protected abstract AccessorMap<T> getAccessorMap()
protected abstract PropExpressionMap getDerivedProperties()
public <P> boolean hasProperty(PropertyTag<P> tag)
PropertyTargetFactoryhasProperty in interface PropertyTargetFactorypublic <R> uk.ac.ed.epcc.webapp.jdbc.filter.BaseFilter<T> getFilter(PropExpression<R> expr, uk.ac.ed.epcc.webapp.jdbc.filter.MatchCondition match, R value) throws uk.ac.ed.epcc.webapp.jdbc.expr.CannotFilterException
ExpressionFilterTargetgetFilter in interface ExpressionFilterTarget<T extends AccountingClassification>uk.ac.ed.epcc.webapp.jdbc.expr.CannotFilterExceptionR - type of prop-expressionexpr - expression to matchmatch - kind of matchvalue - to math againstpublic <R> uk.ac.ed.epcc.webapp.jdbc.filter.BaseFilter<T> getRelationFilter(PropExpression<R> left, uk.ac.ed.epcc.webapp.jdbc.filter.MatchCondition match, PropExpression<R> right) throws uk.ac.ed.epcc.webapp.jdbc.expr.CannotFilterException
ExpressionFilterTargetgetRelationFilter in interface ExpressionFilterTarget<T extends AccountingClassification>uk.ac.ed.epcc.webapp.jdbc.expr.CannotFilterExceptionpublic <R> uk.ac.ed.epcc.webapp.jdbc.filter.BaseFilter<T> getNullFilter(PropExpression<R> expr, boolean is_null) throws uk.ac.ed.epcc.webapp.jdbc.expr.CannotFilterException
ExpressionFilterTargetgetNullFilter in interface ExpressionFilterTarget<T extends AccountingClassification>uk.ac.ed.epcc.webapp.jdbc.expr.CannotFilterExceptionR - type of prop-expressionexpr - expression to matchis_null - match if null when truepublic uk.ac.ed.epcc.webapp.jdbc.filter.BaseFilter<T> getPeriodFilter(uk.ac.ed.epcc.webapp.time.Period period, PropExpression<java.util.Date> start, PropExpression<java.util.Date> end, OverlapType type, long cutoff) throws uk.ac.ed.epcc.webapp.jdbc.expr.CannotFilterException
ExpressionFilterTargetgetPeriodFilter in interface ExpressionFilterTarget<T extends AccountingClassification>uk.ac.ed.epcc.webapp.jdbc.expr.CannotFilterExceptionperiod - Period to overlapstart - start propertyend - end propertytype - OverlapTypecutoff - maximum length of records zero if not knownpublic <I> uk.ac.ed.epcc.webapp.jdbc.filter.OrderFilter<T> getOrderFilter(boolean descending, PropExpression<I> expr) throws uk.ac.ed.epcc.webapp.jdbc.expr.CannotFilterException
getOrderFilter in interface ExpressionFilterTarget<T extends AccountingClassification>uk.ac.ed.epcc.webapp.jdbc.expr.CannotFilterExceptionpublic <R> uk.ac.ed.epcc.webapp.jdbc.expr.SQLExpression<R> getSQLExpression(PropExpression<R> exp) throws InvalidSQLPropertyException
getSQLExpression in interface ExpressionTargetFactory<T extends AccountingClassification>InvalidSQLPropertyExceptionprotected PropertyTargetClassificationFactory.PropertyTargetClassificationTableRegistry makeTableRegistry()
makeTableRegistry in class uk.ac.ed.epcc.webapp.model.ClassificationFactory<T extends AccountingClassification>public <I> boolean compatible(PropExpression<I> expr)
ExpressionTargetGeneratorcompatible in interface ExpressionTargetGenerator<T extends AccountingClassification>protected uk.ac.ed.epcc.webapp.jdbc.filter.BaseFilter<T> getFilter(RecordSelector selector) throws uk.ac.ed.epcc.webapp.jdbc.expr.CannotFilterException
RecordSelectoruk.ac.ed.epcc.webapp.jdbc.expr.CannotFilterExceptionselector - public final boolean compatible(RecordSelector sel)
PropertyTargetGeneratorcompatible in interface PropertyTargetGenerator<T extends AccountingClassification>public java.util.Iterator<T> getIterator(RecordSelector sel) throws uk.ac.ed.epcc.webapp.model.data.Exceptions.DataFault, uk.ac.ed.epcc.webapp.jdbc.expr.CannotFilterException
PropertyTargetGeneratorgetIterator in interface PropertyTargetGenerator<T extends AccountingClassification>uk.ac.ed.epcc.webapp.model.data.Exceptions.DataFaultuk.ac.ed.epcc.webapp.jdbc.expr.CannotFilterExceptionsel - RecordSelector to select datapublic java.util.Iterator<T> getIterator(RecordSelector sel, int skip, int count) throws uk.ac.ed.epcc.webapp.model.data.Exceptions.DataFault, uk.ac.ed.epcc.webapp.jdbc.expr.CannotFilterException
PropertyTargetGeneratorgetIterator in interface PropertyTargetGenerator<T extends AccountingClassification>uk.ac.ed.epcc.webapp.model.data.Exceptions.DataFaultuk.ac.ed.epcc.webapp.jdbc.expr.CannotFilterExceptionsel - RecordSelector to select dataskip - Number of initial records in sequence to skipcount - MAximum number of records to returnpublic long getRecordCount(RecordSelector selector) throws java.lang.Exception
PropertyTargetGeneratorgetRecordCount in interface PropertyTargetGenerator<T extends AccountingClassification>java.lang.Exceptionpublic final <PT> java.util.Set<PT> getValues(PropertyTag<PT> tag, RecordSelector selector) throws uk.ac.ed.epcc.webapp.jdbc.exception.DataException, InvalidPropertyException, uk.ac.ed.epcc.webapp.jdbc.expr.CannotFilterException
PropertyTargetGeneratorgetValues in interface PropertyTargetGenerator<T extends AccountingClassification>uk.ac.ed.epcc.webapp.jdbc.exception.DataExceptionInvalidPropertyExceptionuk.ac.ed.epcc.webapp.jdbc.expr.CannotFilterExceptiontag - the data_tagselector - the selectorpublic final T find(RecordSelector sel) throws uk.ac.ed.epcc.webapp.jdbc.exception.DataException, uk.ac.ed.epcc.webapp.jdbc.expr.CannotFilterException
uk.ac.ed.epcc.webapp.jdbc.exception.DataExceptionuk.ac.ed.epcc.webapp.jdbc.expr.CannotFilterException