Package com.im.df.api.dml
API Status: 2 - Pretty stable
Provides the interfaces that provide data access (create, read, update, delete)
for the items in the data model of Discovery Informatics Framework. This
broadly corresponds to the DML aspects of SQL.
Basically the stable classes/interfaces of this packages are:
The basic idea of this package is that you use DFSchema getSchemaDataProvider method to obtaining DFSchemaDataProvider instance. There is only one instance of this object per the DFSchema and it provides DFEntityDataProviders - one provider per DFEntity.
If you are doing data changes, you need to lock the DFEntityDataProvider (EDP) using getLockable().obtainLock(String) methods. There is one lock per EDP, which means that data can be modified in more tables (entities) in parallel.
-
Interface Summary Interface Description DFDataTreeDataProvider Temporary interface, the logic will be moved toDFSchemaDataProvider
.DFEntityDataProvider Data manager for a single entity.DFInsertOptions API Status: not stable.DFRelationDataProvider API Status: This interface is not stable.DFResultSet This object is used for managing data for a particularDFDataTree
.DFResultSet.VertexState This object represent state of data of oneDFDataTree.Vertex
.DFSchemaDataProvider The root object for providing data in DIF.DFTermVisitor Visitor for DFTerm expressions.EarlyResultsConsumer Consumer for retrieving early results.OperatorProvider Provider for operators. -
Class Summary Class Description DFDataTreeDataProvider.IdPathPair Data structure which can uniquely identify the data to update.DFDataTreeDataProvider.PathUpdateDescription Structure containing the path update description.DFDataTreeDataProvider.PathUpdateDescription.Builder Builder forDFDataTreeDataProvider.PathUpdateDescription
.DFDataTreeDataProvider.PathUpdateDescription.ValueWrapper Used to wrap the values.DFDataTreeDataProvider.VertexUpdateResult The result of the data tree data edit.DFDeleteDescription DFEntityDataProviders Common utilities related toDFEntityDataProvider
s.DFExportTemplateContent Holds configuration of the export template, which gets serialized as XML and stored in the DB.DFInsertDescription This data structure describes a single row to be inserted into theDFInsertDescription.getTargetEntity()
.DFOperator This class represents one operator used byDFTermExpression
in DIF API.DFResultSets Common utilities related toDFResultSet
s.DFRowData Data for a single row in database.DFTerm This object is a superclass of all objects used for definition of expression terms for query execution in DIF.DFTermCount Term used for Count(*) representation.DFTermExpression This object represents a complex expression.DFTermExpressions Utility class forDFTermExpression
.DFTermField This object represents a single existing field in the DFTerm hierarchy; it is a wrapper for such a field and using it, the field can be used in complex DFTerm expressions.DFTermsFactory The factory class for creatingDFTerm
s.DFTermValue This object represents a constant value in the hierarchical substructure of DFTerms, it's wrapper class around such a constant value.Operators The well known built-in operators forDFTermExpression
.Operators.AfterOperator Used in date fields instead ofOperators.GREATER_THAN
.Operators.AllDataOperator Represents all data.Operators.BeforeOperator Used in date fields instead ofOperators.LESS_THAN
.Operators.BetweenOperator A special class for Between operator.Operators.EqualsForDecimalsOperator A special class for "=" operator for decimal numbers.Operators.ErrorOperator A special class for "ERROR" operator.Operators.GeForDecimalsOperator Responsible for ">=" operator for decimal numbers.Operators.IgnoreOperator A special class for dumb IGNORE operator.Operators.LeForDecimalsOperator Responsible for "<=" operator for decimal numbers.Operators.ListOperator IN LIST and NOT IN LIST operators.Operators.NullOperator IS NULL/ IS NOT NULL operators.Operators.RelativeDateOperator Operator for relative date queries.Operators.RelativeDateOperator.TimePeriod Class representing time periods like days, months, years.
When introducing newOperators.RelativeDateOperator.TimePeriod
make a new private static implementation, introduce a public static final field inOperators.RelativeDateOperator.TimePeriod
and add it to theOperators.RelativeDateOperator.TimePeriod.TIME_PERIODS
.Operators.ShortcutOperator Shortcut operator is used to define a shortcut for existing operator with predefined operands.Operators.SimpleFieldValuesOperator Currently we support only "Field Operator [Value, [Value, ...]]" formats.Operators.SimpleLogicalOperator Class for AND/OR operators.Operators.SimpleTextOperator Operators for strings.Operators.StructureOperator Class for all Structure based operators.TermErrors Result of the validation:DFTerm.validate(com.im.df.api.ddl.DFDataTree)
.VertexStates Common utilities related toDFResultSet.VertexState
s.Vertices Common utilities related toDFDataTree.Vertex
class.Vertices.DataTreeLevelComparator Compares two vertices according to their level in a data tree to which they belong. -
Enum Summary Enum Description DFDataTreeDataProvider.VertexUpdateResult.Type The type of the update.DFDeleteDescription.Type -
Exception Summary Exception Description DFRelationDataException