This package contains the core interfaces and classes of JSDAI to work on data in accordance with the STEP standard (ISO 10303). JSDAI is designed in accordance to the Standand Data Access Interface (ISO 10303-22) and it's complete Java binding (ISO/TS 10303-27).

The package jsdai.lang contains three groups of classes and interfaces: session classes, EXPRESS classes and utility classes and interfaces for aggregates and events. The sequence given below indicates a prefered order for reading.

Session classes

- SdaiSession, the root for every JSDAI application
- SdaiRepository (ASdaiRepository) which is the pyhsical container to hold entity instances
- SdaiModel (ASdaiModel) to group entity instances blonging to one EXPRESS schema
- EntityExtent (AEntityExtent) for easy accessing a group of entity instances of the same type
- SchemaInstance (ASchemaInstance) which defines the domain for a valid population of an EXPRESS schema
- SdaiTransaction to commit or arbort changes
- Implementation to retrieve information of this particular SDAI implementaion (version, build ...)
- SdaiQuery, QuerySource and QueryResultSet for performing extended Express based queries.

EXPRESS classes/interfaces

- EEntity, the interface representing an entity instances
- AEntity, the class to hold a group of entity instances

Aggregates are collections of other STEP objects and are used to implement the EXPRESS constructs BAG, SET, LIST and ARRAY. Aggregates created with the new operator are non-persistent. They exist only as long as the application is running. Aggregates which are used for entity attributes cannot be created with the new operator; they can only be created in place with special create methods. The attributes of dictionary and session entities are read-only.

- Aggregate, the general interface definiting the available aggregation operations
- A_integer (Aa_integer) for aggregates of integer types
- A_double (Aa_double) for aggregates of real types
- A_boolean (Aa_boolean) for aggregates of boolean types
- A_enumeration (Aa_enumeration) for aggregates of enumeration types
- A_string (Aa_string) for aggregates of string types
- A_binary (Aa_binary) for aggregates of binary data types

JSDAI objects allow allows applications to register themself to be notified on changes (modify, delete)

- SdaiEvent which is passed from JSDAI objects to applications
- SdaiEventSource the JSDAI objects from where the SdaiEvent comes from
- SdaiListener the application object which wants to receive SdaiEvents

Classes in the package jsdai.lang which are not listed shall not be used by applications even if they are public.

JSDAI Mapping Extension

Methods related to mapping operations are available only if JSDAI Mapping Extension is installed. Otherwise SdaiException FN_NAVL is thrown upon invocation of mapping operations related methods.

JSDAI DB Extension

Methods related to JSDAI DB are available only if JSDAI DB Extension is installed. Otherwise SdaiException FN_NAVL is thrown upon invocation of remote repository related methods.

Session entities
ISO 10303-22 paragraph no. | session schema entity | JSDAI
7.4.1 | sdai_session | SdaiSession (class)
7.4.2 | implementation | Implementation
7.4.3 | sdai_repository | SdaiRepository
7.4.4 | sdai_repository_contents | SdaiRepository
7.4.5 | sdai_transaction | SdaiTransaction
7.4.6 | event | -
7.4.7 | error_event | -

ISO 10303-22 paragraph nr. | population schema entity | JSDAI
8.4.1 | schema_instance | SchemaInstance
8.4.2 | sdai_model | SdaiModel
8.4.3 | sdai_model_contents | SdaiModel
8.4.4 | entity_extent | EntityExtent
8.4.5 | scope | -