T - public class AccountingClassificationFactory<T extends AccountingClassification> extends PropertyTargetClassificationFactory<T> implements UsageProducer<T>, FilterSelector<uk.ac.ed.epcc.webapp.model.data.forms.inputs.DataObjectItemInput<T>>
AccountingClassification objects.
By default the properties are generated from the Database fields but additional properties can be
defined as derived properties| Modifier and Type | Class and Description |
|---|---|
class |
AccountingClassificationFactory.AccountingClassificationTableRegistry |
class |
AccountingClassificationFactory.AddDerivedTransition |
PropertyTargetClassificationFactory.PropertyTargetClassificationTableRegistryuk.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| Modifier and Type | Field and Description |
|---|---|
static PropertyRegistry |
classification |
static PropertyTag<java.lang.String> |
DESCRIPTION_PROP |
static PropertyTag<java.lang.String> |
NAME_PROP |
| Constructor and Description |
|---|
AccountingClassificationFactory(uk.ac.ed.epcc.webapp.AppContext c,
java.lang.String table) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
customAccessors(AccessorMap<T> mapi2,
MultiFinder finder,
PropExpressionMap derived)
Extension point to allow custom accessors to be added.
|
protected AccessorMap<T> |
getAccessorMap() |
protected PropExpressionMap |
getDerivedProperties() |
PropertyFinder |
getFinder()
Produce a PropertyFinder that can find any of the PropertyTags
that can be specified for the objects generated by this type.
|
java.lang.String |
getImplemenationInfo(PropertyTag<?> tag)
Return a text description of how the property is implemented.
|
java.util.Map<ExpressionTuple,ReductionMapResult> |
getIndexedReductionMap(java.util.Set<ReductionTarget> sum,
RecordSelector selector)
General reduction operation.
|
uk.ac.ed.epcc.webapp.model.data.forms.inputs.DataObjectItemInput<T> |
getInput(RecordSelector sel) |
<R> R |
getReduction(ReductionTarget<R> type,
RecordSelector selector)
Perform a reduction over a set of records
|
<I> java.util.Map<I,java.lang.Number> |
getReductionMap(PropExpression<I> index,
ReductionTarget<java.lang.Number> property,
RecordSelector selector)
sum the specified numerical quantity over all records that match the selector
grouped by the other specified property
|
<I> uk.ac.ed.epcc.webapp.jdbc.filter.BaseFilter<T> |
getSelectClauseFilter(SelectClause<I> c) |
protected AccountingClassificationFactory.AccountingClassificationTableRegistry |
makeTableRegistry() |
void |
release() |
void |
resetStructure() |
compatible, compatible, find, getFilter, getFilter, getIterator, getIterator, getNullFilter, getOrderFilter, getPeriodFilter, getRecordCount, getRelationFilter, getSQLExpression, getTarget, getValues, hasProperty, makeBDOallowNameChange, compareTo, findByName, getDataCache, getDefaultTableSpecification, getFormCreator, getFormUpdate, getNameInput, getOrder, getTranslations, makeByName, postCreateTableSetup, postMakeByNamegetTableTransitionID, getTableTransitionRegistryall, 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, restrictDefaultInput, setContext, setContext, setContextWithMake, setProperty, toStringclone, finalize, getClass, notify, notifyAll, wait, wait, waithasPropertycompatiblecompatible, getIterator, getIterator, getRecordCount, getValuespublic static final PropertyRegistry classification
public static final PropertyTag<java.lang.String> NAME_PROP
public static final PropertyTag<java.lang.String> DESCRIPTION_PROP
public AccountingClassificationFactory(uk.ac.ed.epcc.webapp.AppContext c,
java.lang.String table)
protected void customAccessors(AccessorMap<T> mapi2, MultiFinder finder, PropExpressionMap derived)
mapi2 - finder - derived - public PropertyFinder getFinder()
PropertyTargetFactorygetFinder in interface PropertyTargetFactoryprotected AccessorMap<T> getAccessorMap()
getAccessorMap in class PropertyTargetClassificationFactory<T extends AccountingClassification>protected PropExpressionMap getDerivedProperties()
getDerivedProperties in class PropertyTargetClassificationFactory<T extends AccountingClassification>public void resetStructure()
resetStructure in interface uk.ac.ed.epcc.webapp.jdbc.table.TableStructureTransitionTargetresetStructure in class uk.ac.ed.epcc.webapp.model.data.table.TableStructureDataObjectFactory<T extends AccountingClassification>public uk.ac.ed.epcc.webapp.model.data.forms.inputs.DataObjectItemInput<T> getInput(RecordSelector sel) throws java.lang.Exception
getInput in interface FilterSelector<uk.ac.ed.epcc.webapp.model.data.forms.inputs.DataObjectItemInput<T extends AccountingClassification>>java.lang.Exceptionpublic <I> uk.ac.ed.epcc.webapp.jdbc.filter.BaseFilter<T> getSelectClauseFilter(SelectClause<I> c)
protected AccountingClassificationFactory.AccountingClassificationTableRegistry makeTableRegistry()
makeTableRegistry in class PropertyTargetClassificationFactory<T extends AccountingClassification>public java.lang.String getImplemenationInfo(PropertyTag<?> tag)
UsageProducergetImplemenationInfo in interface UsageProducer<T extends AccountingClassification>tag - PropertyTagpublic <I> java.util.Map<I,java.lang.Number> getReductionMap(PropExpression<I> index, ReductionTarget<java.lang.Number> property, RecordSelector selector) throws java.lang.Exception
ReductionProducergetReductionMap in interface ReductionProducer<T extends AccountingClassification>java.lang.Exceptionpublic java.util.Map<ExpressionTuple,ReductionMapResult> getIndexedReductionMap(java.util.Set<ReductionTarget> sum, RecordSelector selector) throws java.lang.Exception
ReductionProducerReductionTarget objects. This method generates
Maps from the requested ReductionTarget to the result of the corresponding reduction.
If the list of ReductionTargets contains any IndexReduction objects then multiple results will
be returned so these results are themselves returned as a Map indexed by PropertyTuple objects
representing the Index values. If there are no IndexValues an empty PropertyTuple will be used.
A non-index target that does not resolve may be ignored or return the default value for
the ReductionTarget. This is so target set compatible with composite UsageProducers
can contain targets only relevant to some of its parts without suppressing all output from the
tables that don't support the property. This does run the risk that spurious index-tuples
might be generated from tables that support none of the non-index targets.
In that case the producer has to be tuned.getIndexedReductionMap in interface ReductionProducer<T extends AccountingClassification>java.lang.Exceptionpublic <R> R getReduction(ReductionTarget<R> type, RecordSelector selector) throws java.lang.Exception
ReductionProducergetReduction in interface ReductionProducer<T extends AccountingClassification>java.lang.Exceptiontype - ReductionTarget specifying reduction to performselector - RecordSelector to select target recordspublic void release()
release in class uk.ac.ed.epcc.webapp.model.data.DataObjectFactory<T extends AccountingClassification>