API Status: 1 - Stable

Defines the core parts of the DIF data model. Whilst based around the relational database model, the components defined here are generic and could equally apply to other sources of data such as files or web services. the classes in this package comprise the "definition" of the components, and, in the context of a relational database model, reflect the DDL aspects of SQL. See the package for how to work with data contained in these components (the DML aspects)

The DIF DDL implementation is suppposed to be executed in a single thread. It doesn't matter what thread it is, but you should use only one at any moment. If you are doing changes in model (using setter/create/remove methods of DFItem, all its subinterfaces, DFContainer, etc.) you must provide an instance of DFEnvironmentRW which contains lock and some feedback class (callback approach). Whole DDL hierarchy use the same DFLock except DFView operations which have own special lock. As many of model modification method calls can take some time, it is not recommended to call them from AWT thread. The preferred way is to use for example UIBackgroundRunnerRW which executes the DDL call on background and then invoke UI update method in AWT thread. Another advantage of this support class is that it solves the DDL single-thread problem for you.