jsdai.lang
Interface Aggregate

All Superinterfaces:
QuerySource, SdaiEventSource
All Known Implementing Classes:
jsdai.lang.A_primitive, CAggregate, jsdai.lang.SessionAggregate

public interface Aggregate
extends SdaiEventSource, QuerySource

The interface Aggregate represents a collection of arbitrary EXPRESS data types, called members of this aggregate. Due to a special nature of the EXPRESS data types, especially the select data type, it is not possible to use java.util.Collection or Java arrays for this purpose. The interface Aggregate contains the access methods which are common for all aggregate classes and also the late binding member access methods for the basic data types (double, integer, enumeration, String, Binary), entity instances, nested aggregates, defined data types or a selection thereof.

The aggregates created with the new operator are non-persistent; that is, they are not stored within a repository. The aggregates used as values of EXPRESS ENTITY attributes are persistent. They cannot be created with the new operator. Applications need to use special create operations for this. This is also the case for nested aggregates.

The aggregates must be of one of the following EXPRESS types: SET, BAG, LIST or ARRAY. The type of an aggregate is determined when an Aggregate is created. When creating a non-persistent aggregate with the new operator, the type always is LIST. Otherwise, the type of the Aggregate is determined by its usage as an ENTITY attribute or within a nested aggregate. The actual type of an Aggregate can be retrieved with getAggregationType method which returns the dictionary description of every aggregate (or null if method is applied to non-persistent list).

Each of types SET, BAG and LIST has a lower bound and, optionally, an upper bound. Indexing of members in aggregates of type SET, BAG and LIST starts from 1. Aggregates of type ARRAY always have a lower index and an upper index. The actual number of members in an aggregate can be retrieved with getMemberCount method.

The members of aggregates can be accessed either by an integer index or by a SdaiIterator object. An SdaiIterator is created for a specific Aggregate with createIterator method. An SdaiIterator can be attached to another aggregate using method attachIterator.

The aggregates are either ordered collections(LIST, ARRAY) or unordered ones(BAG, SET). While some operations in Aggregate are available for any type, others are available only for specific types. The table given below indicates which operation is available for which EXPRESS aggregation type. The access column (acc) indicates whether the operation is defined on members specified by an index (i), specified by an SdaiIterator (I) or for no specific member(-). Some of the operations are available as methods on SdaiIterator.

accBAGSETLISTARRAYsee SDAI
General
createIterator -XXXX10.12.3
attachIterator -XXXX-
clear -XXXX-
getAggregationType -XXXX-
Size, Bounds
getMemberCount -XXXX10.12.1
getLowerBound -XXXX10.12.9
getUpperBound -XXXX10.12.10
getLowerIndex ----X10.17.3
getUpperIndex ----X10.17.4
SdaiIterator.getValueBound IXXXX10.12.8
getValueBoundByIndex iXXXX10.15.4
Reading and testing members
testCurrentMember IXXXX10.17.2
testByIndex iXXXX10.17.1
isMember -XXXX10.12.2
getCurrentMember IXXXX10.12.7
getByIndex iXXXX10.15.1
Set, Unset
setCurrentMember IXXXX10.13.2
setByIndex i--XX10.16.1
SdaiIterator.unset I---X10.18.2
unsetValueByIndex i---X10.18.1
Adding and removing members
addAfter I--X-10.19.2
addBefore I--X-10.19.1
addByIndex i--X-10.19.3
addUnordered -XX--10.14.1
SdaiIterator.remove IXXXX10.13.3
removeByIndex i--X-10.19.7
removeUnordered -XX--10.14.3
Creating new member Aggregates
createAggregateAsCurrentMemberIXXXX10.13.1
createAggregateAfter I--X-10.19.5
createAggregateBefore I--X-10.19.4
createAggregateByIndex i--XX10.16.2
addAggregateByIndex i--X-10.19.6
createAggregateUnordered -XX--10.14.2
special on SdaiIterator
SdaiIterator.beginning IXXXX10.12.5
SdaiIterator.end I--XX10.15.2
SdaiIterator.next IXXXX10.12.6
SdaiIterator.previous I--XX10.15.3
special on ARRAYs
reindexArray ----X10.18.3
resetArrayIndex ----X10.18.4

The operations to set or add members and, in addition, isMember and removeUnordered are available as overloaded methods for values of type Object, int, double and boolean. The operations to read members are available as methods with name having the appendix -Object, -Int, -Double, and -Boolean for the corresponding value type.

The package jsdai.lang contains several implementations of Aggregate with early binding access. Their names all start with the prefix "A". In the case of nested aggregates the prefixes are "Aa", "Aaa" and so on. The classes implementing interface Aggregate for the basic types are:
  • AEntitySelect
  • Further specializations of AEntity can be found in the early binding packages.
    Implementations of the interface Aggregate for double and triple nested aggregates of the basic types are: There are also the following "early binding" aggregates for session objects:

    See Also:
    "ISO 10303-22::9.4.11 aggregate_instance"

    Method Summary
     void addAfter(SdaiIterator iter, boolean value, jsdai.dictionary.EDefined_type[] select)
              Adds a new member of type boolean immediately after the member of this Aggregate placed at the position specified by an iterator, provided the type of this Aggregate is LIST.
     void addAfter(SdaiIterator iter, double value, jsdai.dictionary.EDefined_type[] select)
              Adds a new member of type double immediately after the member of this Aggregate placed at the position specified by an iterator, provided the type of this Aggregate is LIST.
     void addAfter(SdaiIterator iter, int value, jsdai.dictionary.EDefined_type[] select)
              Adds a new member of type int immediately after the member of this Aggregate placed at the position specified by an iterator, provided the type of this Aggregate is LIST.
     void addAfter(SdaiIterator iter, java.lang.Object value, jsdai.dictionary.EDefined_type[] select)
              Adds a new member of type Object immediately after the member of this Aggregate placed at the position specified by an iterator, provided the type of this Aggregate is LIST.
     Aggregate addAggregateByIndex(int index, jsdai.dictionary.EDefined_type[] select)
              Creates a new, empty aggregate instance and adds this instance at the specified index position to this Aggregate, provided the type of this Aggregate is LIST.
     void addBefore(SdaiIterator iter, boolean value, jsdai.dictionary.EDefined_type[] select)
              Adds a new member of type boolean immediately before the member of this Aggregate placed at the position specified by an iterator, provided the type of this Aggregate is LIST.
     void addBefore(SdaiIterator iter, double value, jsdai.dictionary.EDefined_type[] select)
              Adds a new member of type double immediately before the member of this Aggregate placed at the position specified by an iterator, provided the type of this Aggregate is LIST.
     void addBefore(SdaiIterator iter, int value, jsdai.dictionary.EDefined_type[] select)
              Adds a new member of type int immediately before the member of this Aggregate placed at the position specified by an iterator, provided the type of this Aggregate is LIST.
     void addBefore(SdaiIterator iter, java.lang.Object value, jsdai.dictionary.EDefined_type[] select)
              Adds a new member of type Object immediately before the member of this Aggregate placed at the position specified by an iterator, provided the type of this Aggregate is LIST.
     void addByIndex(int index, boolean value, jsdai.dictionary.EDefined_type[] select)
              Adds a new member of type boolean at the specified index position to this Aggregate, provided its type is LIST.
     void addByIndex(int index, double value, jsdai.dictionary.EDefined_type[] select)
              Adds a new member of type double at the specified index position to this Aggregate, provided its type is LIST.
     void addByIndex(int index, int value, jsdai.dictionary.EDefined_type[] select)
              Adds a new member of type int at the specified index position to this Aggregate, provided its type is LIST.
     void addByIndex(int index, java.lang.Object value, jsdai.dictionary.EDefined_type[] select)
              Adds a new member of type Object at the specified index position to this Aggregate, provided its type is LIST.
     void addUnordered(boolean value, jsdai.dictionary.EDefined_type[] select)
              Adds a new member of type boolean to this Aggregate, provided the type of this Aggregate is different than ARRAY.
     void addUnordered(double value, jsdai.dictionary.EDefined_type[] select)
              Adds a new member of type double to this Aggregate, provided the type of this Aggregate is different than ARRAY.
     void addUnordered(int value, jsdai.dictionary.EDefined_type[] select)
              Adds a new member of type int to this Aggregate, provided the type of this Aggregate is different than ARRAY.
     void addUnordered(java.lang.Object value, jsdai.dictionary.EDefined_type[] select)
              Adds a new member of type Object to this Aggregate, provided the type of this Aggregate is different than ARRAY.
     void attachIterator(SdaiIterator iter)
              Attaches an existing iterator to this Aggregate.
     void clear()
              Removes all members from this Aggregate if its EXPRESS type is either LIST, or SET, or BAG, and unsets all members of this Aggregate if its type is ARRAY.
     Aggregate createAggregateAfter(SdaiIterator iter, jsdai.dictionary.EDefined_type[] select)
              Creates a new, empty aggregate instance and adds it immediately after the member of this Aggregate placed at the position specified by an iterator, provided the type of this Aggregate is LIST.
     Aggregate createAggregateAsCurrentMember(SdaiIterator iter, jsdai.dictionary.EDefined_type[] select)
              Creates a new, empty aggregate instance and assigns it to a member of this Aggregate at the position specified by an iterator.
     Aggregate createAggregateBefore(SdaiIterator iter, jsdai.dictionary.EDefined_type[] select)
              Creates a new, empty aggregate instance and adds it immediately before the member of this Aggregate placed at the position specified by an iterator, provided the type of this Aggregate is LIST.
     Aggregate createAggregateByIndex(int index, jsdai.dictionary.EDefined_type[] select)
              Creates a new, empty aggregate instance and assigns it to a member of this Aggregate at the specified index position.
     Aggregate createAggregateUnordered(jsdai.dictionary.EDefined_type[] select)
              Creates a new, empty aggregate instance and adds this instance to this Aggregate, provided the type of this Aggregate is either SET or BAG.
     SdaiIterator createIterator()
              Creates a new iterator for the aggregate instance, initially set as if a Beginning operation had been performed.
     jsdai.dictionary.EAggregation_type getAggregationType()
              Returns the aggregation type for this Aggregate.
     boolean getByIndexBoolean(int index)
              Returns the value (of type boolean) of the member at the specified index position in this Aggregate.
     double getByIndexDouble(int index)
              Returns the value (of type double) of the member at the specified index position in this Aggregate.
     int getByIndexInt(int index)
              Returns the value (of type int) of the member at the specified index position in this Aggregate.
     java.lang.Object getByIndexObject(int index)
              Returns the value (of type Object) of the member at the specified index position in this Aggregate.
     boolean getCurrentMemberBoolean(SdaiIterator iter)
              Returns the value (of type boolean) of the member of this Aggregate at the position specified by an iterator.
     double getCurrentMemberDouble(SdaiIterator iter)
              Returns the value (of type double) of the member of this Aggregate at the position specified by an iterator.
     int getCurrentMemberInt(SdaiIterator iter)
              Returns the value (of type int) of the member of this Aggregate at the position specified by an iterator.
     java.lang.Object getCurrentMemberObject(SdaiIterator iter)
              Returns the value (of type Object) of the member of this Aggregate at the position specified by an iterator.
     int getLowerBound()
              Returns the value of the population_dependent_bound for the lower bound or lower index of this Aggregate.
     int getLowerIndex()
              Returns the value of the population_dependent_bound for the lower index of this Aggregate when its type is ARRAY.
     int getMemberCount()
              Returns the number of elements contained in this Aggregate.
     int getUpperBound()
              Returns the value of the population_dependent_bound for the upper bound or upper index of this Aggregate.
     int getUpperIndex()
              Returns the value of the population_dependent_bound for the upper index of this Aggregate when its type is ARRAY.
     int getValueBoundByIndex(int index)
              This method is not implemented in current JSDAI version.
     boolean isMember(boolean value, jsdai.dictionary.EDefined_type[] select)
              Checks if the specified value of type boolean is a member of this Aggregate.
     boolean isMember(double value, jsdai.dictionary.EDefined_type[] select)
              Checks if the specified value of type double is a member of this Aggregate.
     boolean isMember(int value, jsdai.dictionary.EDefined_type[] select)
              Checks if the specified value of type int is a member of this Aggregate.
     boolean isMember(java.lang.Object value, jsdai.dictionary.EDefined_type[] select)
              Checks if the specified value is a member of this Aggregate.
     int query(java.lang.String where, EEntity entity, AEntity result)
              This method is not implemented in current JSDAI version.
     void reindexArray()
              Resizes this Aggregate, provided its type is ARRAY, according to the value of the population_dependent_bound for the lower index and/or upper index.
     void removeByIndex(int index)
              Removes the member at the specified index position from this Aggregate, provided the type of this Aggregate is LIST.
     void removeUnordered(boolean value, jsdai.dictionary.EDefined_type[] select)
              Removes one occurrence of the specified value of type boolean from this Aggregate, provided the type of this Aggregate is either SET or BAG.
     void removeUnordered(double value, jsdai.dictionary.EDefined_type[] select)
              Removes one occurrence of the specified value of type double from this Aggregate, provided the type of this Aggregate is either SET or BAG.
     void removeUnordered(int value, jsdai.dictionary.EDefined_type[] select)
              Removes one occurrence of the specified value of type int from this Aggregate, provided the type of this Aggregate is either SET or BAG.
     void removeUnordered(java.lang.Object value, jsdai.dictionary.EDefined_type[] select)
              Removes one occurrence of the specified value of type Object from this Aggregate, provided the type of this Aggregate is either SET or BAG.
     void resetArrayIndex(int lower, int upper)
              Resets upper and lower indices for this Aggregate, provided its type is ARRAY, according to the new index values based on the population_dependent_bound.
     void setByIndex(int index, boolean value, jsdai.dictionary.EDefined_type[] select)
              Assigns a new value of type boolean to a member of this Aggregate at the specified index position.
     void setByIndex(int index, double value, jsdai.dictionary.EDefined_type[] select)
              Assigns a new value of type double to a member of this Aggregate at the specified index position.
     void setByIndex(int index, int value, jsdai.dictionary.EDefined_type[] select)
              Assigns a new value of type int to a member of this Aggregate at the specified index position.
     void setByIndex(int index, java.lang.Object value, jsdai.dictionary.EDefined_type[] select)
              Assigns a new value of type Object to a member of this Aggregate at the specified index position.
     void setCurrentMember(SdaiIterator iter, boolean value, jsdai.dictionary.EDefined_type[] select)
              Assigns a new value of type boolean to a member of this Aggregate at the position specified by an iterator.
     void setCurrentMember(SdaiIterator iter, double value, jsdai.dictionary.EDefined_type[] select)
              Assigns a new value of type double to a member of this Aggregate at the position specified by an iterator.
     void setCurrentMember(SdaiIterator iter, int value, jsdai.dictionary.EDefined_type[] select)
              Assigns a new value of type int to a member of this Aggregate at the position specified by an iterator.
     void setCurrentMember(SdaiIterator iter, java.lang.Object value, jsdai.dictionary.EDefined_type[] select)
              Assigns a new value of type Object to a member of this Aggregate at the position specified by an iterator.
     int testByIndex(int index)
              Checks if a value is set for the member of this Aggregate at the specified index position, and if so, returns the flag indicating the type of this value.
     int testByIndex(int index, jsdai.dictionary.EDefined_type[] select)
              Checks if a value is set for the member of this Aggregate at the specified index position, and if so, returns the flag indicating the type of this value.
     int testCurrentMember(SdaiIterator iter)
              Checks if a value is set for the member of this Aggregate at the position specified by an iterator, and if so, returns the flag indicating the type of this value.
     int testCurrentMember(SdaiIterator iter, jsdai.dictionary.EDefined_type[] select)
              Checks if a value is set for the member of this Aggregate at the position specified by an iterator, and if so, returns the flag indicating the type of this value.
     void unsetValueByIndex(int index)
              Changes the value of a member at the specified index position of this Aggregate of type ARRAY so that this aggregate has no value at that position.
     
    Methods inherited from interface jsdai.lang.SdaiEventSource
    addSdaiListener, removeSdaiListener
     
    Methods inherited from interface jsdai.lang.QuerySource
    getQuerySourceDomain, getQuerySourceDomainRef, getQuerySourceInstanceRef, getQuerySourceInstances
     

    Method Detail

    getMemberCount

    public int getMemberCount()
                       throws SdaiException
    Returns the number of elements contained in this Aggregate. If the type of this aggregate is a bounded array, then this number is calculated according to the formula "upper_index" - "lower_index" + 1. That is, in this case the size of the array is returned.

    Returns:
    the number of elements in the aggregate.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NDEF, SdaiModel access not defined.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    See Also:
    "ISO 10303-22::10.12.1 Get member count"

    isMember

    public boolean isMember(java.lang.Object value,
                            jsdai.dictionary.EDefined_type[] select)
                     throws SdaiException
    Checks if the specified value is a member of this Aggregate. A positive answer is returned if this value appears in the aggregate at least once. If the type of the aggregate elements is select type and the set of possible leaf types is not a subset of the set of entity data types, then the select path corresponding to the value to be checked needs to be submitted (through the second method's parameter). Otherwise, null to the second parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    In each of the following cases an SdaiException VT_NVLD is thrown:

    If select path is invalid, then SdaiException VA_NVLD is thrown.

    Parameters:
    value - the value to be checked for inclusion.
    select - select path corresponding to the value submitted.
    Returns:
    true if the specified value is a member of this aggregate, false otherwise.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NDEF, SdaiModel access not defined.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    isMember(int, EDefined_type[]), isMember(double, EDefined_type[]), isMember(boolean, EDefined_type[]), "ISO 10303-22::10.12.2 Is member"

    isMember

    public boolean isMember(int value,
                            jsdai.dictionary.EDefined_type[] select)
                     throws SdaiException
    Checks if the specified value of type int is a member of this Aggregate. A positive answer is returned if this value appears in the aggregate at least once. This method is applicable for values of EXPRESS data types INTEGER, LOGICAL and ENUMERATION. If the type of the aggregate elements is select type, then the select path corresponding to the value to be checked needs to be submitted (through the second method's parameter). Otherwise, null to the second parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    value - the value to be checked for inclusion.
    select - select path corresponding to the value submitted.
    Returns:
    true if the specified value is a member of this aggregate, false otherwise.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NDEF, SdaiModel access not defined.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - VA_NSET, value not set.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    isMember(Object, EDefined_type[]), isMember(double, EDefined_type[]), isMember(boolean, EDefined_type[]), "ISO 10303-22::10.12.2 Is member"

    isMember

    public boolean isMember(double value,
                            jsdai.dictionary.EDefined_type[] select)
                     throws SdaiException
    Checks if the specified value of type double is a member of this Aggregate. A positive answer is returned if this value appears in the aggregate at least once. This method is applicable for values of EXPRESS data types REAL, and NUMBER. If the type of the aggregate elements is select type, then the select path corresponding to the value to be checked needs to be submitted (through the second method's parameter). Otherwise, null to the second parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    value - the value to be checked for inclusion.
    select - select path corresponding to the value submitted.
    Returns:
    true if the specified value is a member of this aggregate, false otherwise.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NDEF, SdaiModel access not defined.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - VA_NSET, value not set.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    isMember(Object, EDefined_type[]), isMember(int, EDefined_type[]), isMember(boolean, EDefined_type[]), "ISO 10303-22::10.12.2 Is member"

    isMember

    public boolean isMember(boolean value,
                            jsdai.dictionary.EDefined_type[] select)
                     throws SdaiException
    Checks if the specified value of type boolean is a member of this Aggregate. A positive answer is returned if this value appears in the aggregate at least once. This method is applicable for values of EXPRESS data type BOOLEAN. If the type of the aggregate elements is select type, then the select path corresponding to the value to be checked needs to be submitted (through the second method's parameter). Otherwise, null to the second parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    value - the value to be checked for inclusion.
    select - select path corresponding to the value submitted.
    Returns:
    true if the specified value is a member of this aggregate, false otherwise.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NDEF, SdaiModel access not defined.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    isMember(Object, EDefined_type[]), isMember(int, EDefined_type[]), isMember(double, EDefined_type[]), "ISO 10303-22::10.12.2 Is member"

    createIterator

    public SdaiIterator createIterator()
                                throws SdaiException
    Creates a new iterator for the aggregate instance, initially set as if a Beginning operation had been performed. Thus, the iterator has no current member and for ordered collection is positioned before the first member of the aggregate.

    Returns:
    the newly created iterator over this Aggregate.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NDEF, SdaiModel access not defined.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    See Also:
    SdaiIterator.beginning(), attachIterator(jsdai.lang.SdaiIterator), "ISO 10303-22::10.12.3 Create iterator"

    attachIterator

    public void attachIterator(SdaiIterator iter)
                        throws SdaiException
    Attaches an existing iterator to this Aggregate. The iterator is set as if a Beginning operation had been performed. Thus, the iterator has no current member and for ordered collection is positioned before the first member of the aggregate.

    This method is an extension of JSDAI, which is not a part of the standard. It allows to reuse an existing SdaiIterator object created with createIterator method.

    Parameters:
    iter - the iterator to be attached to this Aggregate.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NDEF, SdaiModel access not defined.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    See Also:
    createIterator(), "ISO 10303-22::10.12.3 Create iterator"

    getLowerBound

    public int getLowerBound()
                      throws SdaiException
    Returns the value of the population_dependent_bound for the lower bound or lower index of this Aggregate.

    This method is not implemented in current JSDAI version. SdaiException EX_NSUP will be thrown if this method is invoked.

    Returns:
    the value of the lower bound or lower index.
    Throws:
    SdaiException - EX_NSUP, expression evaluation not supported.
    See Also:
    jsdai.dictionary.EPopulation_dependent_bound, "ISO 10303-22::10.12.9 Get lower bound"

    getUpperBound

    public int getUpperBound()
                      throws SdaiException
    Returns the value of the population_dependent_bound for the upper bound or upper index of this Aggregate.

    This method is not implemented in current JSDAI version. SdaiException EX_NSUP will be thrown if this method is invoked.

    Returns:
    the value of the upper bound or upper index.
    Throws:
    SdaiException - EX_NSUP, expression evaluation not supported.
    See Also:
    jsdai.dictionary.EPopulation_dependent_bound, "ISO 10303-22::10.12.9 Get lower bound"

    query

    public int query(java.lang.String where,
                     EEntity entity,
                     AEntity result)
              throws SdaiException
    This method is not implemented in current JSDAI version.

    SdaiException FN_NAVL will be thrown if this method is invoked.

    Specified by:
    query in interface QuerySource
    Parameters:
    where - a String value
    entity - an EEntity value
    result - an AEntity value
    Returns:
    an int value
    Throws:
    SdaiException - FN_NAVL, function not available.
    See Also:
    "ISO 10303-22::10.4.14 SDAI query"

    getByIndexObject

    public java.lang.Object getByIndexObject(int index)
                                      throws SdaiException
    Returns the value (of type Object) of the member at the specified index position in this Aggregate. Indexing starts from 1. The method is valid not only for ordered collections (EXPRESS types ARRAY and LIST) but also for unordered ones (EXPRESS types SET and BAG). This feature is an extension of the standard.

    Parameters:
    index - the index or position from which the value is asked.
    Returns:
    the value at the specified position in this Aggregate.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NDEF, SdaiModel access not defined.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NSET, value not set.
    SdaiException - IX_NVLD, index invalid.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    getByIndexInt(int), getByIndexDouble(int), getByIndexBoolean(int), "ISO 10303-22::10.15.1 Get by index"

    getByIndexInt

    public int getByIndexInt(int index)
                      throws SdaiException
    Returns the value (of type int) of the member at the specified index position in this Aggregate. Indexing starts from 1. The method is valid not only for ordered collections (EXPRESS types ARRAY and LIST) but also for unordered ones (EXPRESS types SET and BAG). This feature is an extension of the standard.

    If value to be returned is not of Java int type, then SdaiException VT_NVLD is thrown. Applying method to an aggregate that can contain elements only of type EEntity results in SdaiException FN_NAVL. Such aggregates, for example, are produced by getInstances methods in class SdaiModel.

    Parameters:
    index - the index or position from which the value is asked.
    Returns:
    the value at the specified position in this Aggregate.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NDEF, SdaiModel access not defined.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - VA_NSET, value not set.
    SdaiException - IX_NVLD, index invalid.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    getByIndexObject(int), getByIndexDouble(int), getByIndexBoolean(int), "ISO 10303-22::10.15.1 Get by index"

    getByIndexDouble

    public double getByIndexDouble(int index)
                            throws SdaiException
    Returns the value (of type double) of the member at the specified index position in this Aggregate. Indexing starts from 1. The method is valid not only for ordered collections (EXPRESS types ARRAY and LIST) but also for unordered ones (EXPRESS types SET and BAG). This feature is an extension of the standard.

    If value to be returned is not of Java double type, then SdaiException VT_NVLD is thrown. Applying method to an aggregate that can contain elements only of type EEntity results in SdaiException FN_NAVL. Such aggregates, for example, are produced by getInstances methods in class SdaiModel.

    Parameters:
    index - the index or position from which the value is asked.
    Returns:
    the value at the specified position in this Aggregate.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NDEF, SdaiModel access not defined.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - VA_NSET, value not set.
    SdaiException - IX_NVLD, index invalid.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    getByIndexObject(int), getByIndexInt(int), getByIndexBoolean(int), "ISO 10303-22::10.15.1 Get by index"

    getByIndexBoolean

    public boolean getByIndexBoolean(int index)
                              throws SdaiException
    Returns the value (of type boolean) of the member at the specified index position in this Aggregate. Indexing starts from 1. The method is valid not only for ordered collections (EXPRESS types ARRAY and LIST) but also for unordered ones (EXPRESS types SET and BAG). This feature is an extension of the standard.

    If value to be returned is not of Java boolean type, then SdaiException VT_NVLD is thrown. Applying method to an aggregate that can contain elements only of type EEntity results in SdaiException FN_NAVL. Such aggregates, for example, are produced by getInstances methods in class SdaiModel.

    Parameters:
    index - the index or position from which the value is asked.
    Returns:
    the value at the specified position in this Aggregate.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NDEF, SdaiModel access not defined.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - VA_NSET, value not set.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - IX_NVLD, index invalid.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    getByIndexObject(int), getByIndexInt(int), getByIndexDouble(int), "ISO 10303-22::10.15.1 Get by index"

    getValueBoundByIndex

    public int getValueBoundByIndex(int index)
                             throws SdaiException
    This method is not implemented in current JSDAI version.

    SdaiException EX_NSUP will be thrown if this method is invoked.

    Parameters:
    index - the index position of the aggregate element for which the value bound is to be returned.
    Returns:
    the value bound.
    Throws:
    SdaiException - EX_NSUP, expression evaluation not supported.
    See Also:
    "ISO 10303-22::10.15.4 Get value bound by index"

    setByIndex

    public void setByIndex(int index,
                           java.lang.Object value,
                           jsdai.dictionary.EDefined_type[] select)
                    throws SdaiException
    Assigns a new value of type Object to a member of this Aggregate at the specified index position. The method is valid only if this aggregate is an ordered collection (EXPRESS types ARRAY or LIST). If the old value is an aggregate instance, then it is deleted along with any nested aggregate instances contained by it.

    If the type of the aggregate elements is select type and the set of possible leaf types is not a subset of the set of entity data types, then the select path corresponding to the value to be assigned needs to be submitted (through the third method's parameter). Otherwise, null to the third parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    index - the index or position for the member whose value is set.
    value - the value to be assigned.
    select - select path corresponding to the value submitted.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NSET, value not set.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - IX_NVLD, index invalid.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    setByIndex(int, int, EDefined_type[]), setByIndex(int, double, EDefined_type[]), setByIndex(int, boolean, EDefined_type[]), createAggregateByIndex(int, jsdai.dictionary.EDefined_type[]), "ISO 10303-22::10.16.1 Put by index"

    setByIndex

    public void setByIndex(int index,
                           int value,
                           jsdai.dictionary.EDefined_type[] select)
                    throws SdaiException
    Assigns a new value of type int to a member of this Aggregate at the specified index position. The method is valid only if this aggregate is an ordered collection (EXPRESS types ARRAY or LIST). If the old value is an aggregate instance, then it is deleted along with any nested aggregate instances contained by it.

    If the type of the aggregate elements is select type, then the select path corresponding to the value to be assigned needs to be submitted (through the third method's parameter). Otherwise, null to the third parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    index - the index or position for the member whose value is set.
    value - the value to be assigned.
    select - select path corresponding to the value submitted.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NSET, value not set.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - IX_NVLD, index invalid.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    setByIndex(int, Object, EDefined_type[]), setByIndex(int, double, EDefined_type[]), setByIndex(int, boolean, EDefined_type[]), "ISO 10303-22::10.16.1 Put by index"

    setByIndex

    public void setByIndex(int index,
                           double value,
                           jsdai.dictionary.EDefined_type[] select)
                    throws SdaiException
    Assigns a new value of type double to a member of this Aggregate at the specified index position. The method is valid only if this aggregate is an ordered collection (EXPRESS types ARRAY or LIST). If the old value is an aggregate instance, then it is deleted along with any nested aggregate instances contained by it.

    If the type of the aggregate elements is select type, then the select path corresponding to the value to be assigned needs to be submitted (through the third method's parameter). Otherwise, null to the third parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    index - the index or position for the member whose value is set.
    value - the value to be assigned.
    select - select path corresponding to the value submitted.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NSET, value not set.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - IX_NVLD, index invalid.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    setByIndex(int, Object, EDefined_type[]), setByIndex(int, int, EDefined_type[]), setByIndex(int, boolean, EDefined_type[]), "ISO 10303-22::10.16.1 Put by index"

    setByIndex

    public void setByIndex(int index,
                           boolean value,
                           jsdai.dictionary.EDefined_type[] select)
                    throws SdaiException
    Assigns a new value of type boolean to a member of this Aggregate at the specified index position. The method is valid only if this aggregate is an ordered collection (EXPRESS types ARRAY or LIST). If the old value is an aggregate instance, then it is deleted along with any nested aggregate instances contained by it.

    If the type of the aggregate elements is select type, then the select path corresponding to the value to be assigned needs to be submitted (through the third method's parameter). Otherwise, null to the third parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    index - the index or position for the member whose value is set.
    value - the value to be assigned.
    select - select path corresponding to the value submitted.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - IX_NVLD, index invalid.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    setByIndex(int, Object, EDefined_type[]), setByIndex(int, int, EDefined_type[]), setByIndex(int, double, EDefined_type[]), "ISO 10303-22::10.16.1 Put by index"

    createAggregateByIndex

    public Aggregate createAggregateByIndex(int index,
                                            jsdai.dictionary.EDefined_type[] select)
                                     throws SdaiException
    Creates a new, empty aggregate instance and assigns it to a member of this Aggregate at the specified index position. The method is valid only if this aggregate is an ordered collection (EXPRESS types ARRAY or LIST). If the old value is an aggregate instance, then it is deleted along with any nested aggregate instances contained by it.

    If the type of the aggregate elements is select type, then the select path identifying the type of the aggregate requested to create as a member of this Aggregate needs to be submitted (through the second method's parameter). Otherwise, null to the second parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    index - the index or position for the member which is replaced by the newly created aggregate.
    select - select path identifying the type of the aggregate to be created.
    Returns:
    the newly created empty aggregate.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - IX_NVLD, index invalid.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    "ISO 10303-22::10.16.2 Create aggregate instance by index"

    testByIndex

    public int testByIndex(int index,
                           jsdai.dictionary.EDefined_type[] select)
                    throws SdaiException
    Checks if a value is set for the member of this Aggregate at the specified index position, and if so, returns the flag indicating the type of this value. Indexing starts from 1. The method is valid not only for EXPRESS type ARRAY but also for other types: LIST, SET and BAG. This feature is an extension of the standard. The possible return values are the following: The case of return value 2 encompasses the cases when the aggregate value is of EXPRESS type INTEGER, ENUMERATION and LOGICAL. For the same value each of the methods testByIndex, testCurrentMember and EEntity.testAttribute returns the same type indicator.

    If the type of the aggregate elements is select type and the set of possible leaf types is not a subset of the set of entity data types, then the array "select" (the second method's parameter) of sufficient size for storing the select path corresponding to the current member value at the specified index position must be submitted. Otherwise, null to the second parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in Technical corrigendum of ISO 10303-21:11.1.8). The method returns the array "select" with defined data types stored in it. The number of elements in this array is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. If "select" array is not provided or is of insufficient size, then SdaiException VT_NVLD and, respectively, VA_NVLD is thrown.

    The usage of this method is similar as in Example 1 provided for EEntity.testAttribute method. The early binding usage of the "Test by index" operation is similar as in Example 2 given in the description of the same method.

    Parameters:
    index - the index or position for the member whose value is to be tested.
    select - an array provided for storing the select path corresponding to the member value to be tested.
    Returns:
    the flag indicating either the type of the member value or the fact that the specified aggregate member is unset.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NDEF, SdaiModel access not defined.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - IX_NVLD, index invalid.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    testByIndex(int), "ISO 10303-22::10.17.1 Test by index"

    testByIndex

    public int testByIndex(int index)
                    throws SdaiException
    Checks if a value is set for the member of this Aggregate at the specified index position, and if so, returns the flag indicating the type of this value. Indexing starts from 1. The method is valid not only for EXPRESS type ARRAY but also for other types: LIST, SET and BAG. This feature is an extension of the standard. The possible return values are the following: The case of return value 2 encompasses the cases when the aggregate value is of EXPRESS type INTEGER, ENUMERATION and LOGICAL.

    If the type of the aggregate elements is select type, then SdaiException AI_NVLD is thrown.

    Parameters:
    index - the index or position for the member whose value is to be tested.
    Returns:
    the flag indicating either the type of the member value or the fact that the specified aggregate member is unset.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NDEF, SdaiModel access not defined.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - IX_NVLD, index invalid.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    testByIndex(int, EDefined_type []), "ISO 10303-22::10.17.1 Test by index"

    getLowerIndex

    public int getLowerIndex()
                      throws SdaiException
    Returns the value of the population_dependent_bound for the lower index of this Aggregate when its type is ARRAY.

    This method is not implemented in current JSDAI version. SdaiException FN_NAVL will be thrown if this method is invoked.

    Returns:
    the value of the lower index.
    Throws:
    SdaiException - FN_NAVL, function not available.
    See Also:
    jsdai.dictionary.EPopulation_dependent_bound, "ISO 10303-22::10.17.3 Get lower index"

    getUpperIndex

    public int getUpperIndex()
                      throws SdaiException
    Returns the value of the population_dependent_bound for the upper index of this Aggregate when its type is ARRAY.

    This method is not implemented in current JSDAI version. SdaiException FN_NAVL will be thrown if this method is invoked.

    Returns:
    the value of the upper index.
    Throws:
    SdaiException - FN_NAVL, function not available.
    See Also:
    jsdai.dictionary.EPopulation_dependent_bound, "ISO 10303-22::10.17.4 Get upper index"

    unsetValueByIndex

    public void unsetValueByIndex(int index)
                           throws SdaiException
    Changes the value of a member at the specified index position of this Aggregate of type ARRAY so that this aggregate has no value at that position. A subsequent application of testByIndex methods at this index position will return value 0. The method is valid only if the type of this aggregate is ARRAY. If this condition is violated, then SdaiException AI_NVLD is thrown. If the old value is an aggregate instance, then it is deleted along with any nested aggregate instances contained by it.

    Parameters:
    index - the array index of the member to be unset.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - IX_NVLD, index invalid.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    "ISO 10303-22::10.18.1 Unset value by index"

    reindexArray

    public void reindexArray()
                      throws SdaiException
    Resizes this Aggregate, provided its type is ARRAY, according to the value of the population_dependent_bound for the lower index and/or upper index.

    This method is not implemented in current JSDAI version. SdaiException EX_NSUP will be thrown if this method is invoked.

    Throws:
    SdaiException - EX_NSUP, expression evaluation not supported.
    See Also:
    jsdai.dictionary.EPopulation_dependent_bound, "ISO 10303-22::10.18.3 Reindex array"

    resetArrayIndex

    public void resetArrayIndex(int lower,
                                int upper)
                         throws SdaiException
    Resets upper and lower indices for this Aggregate, provided its type is ARRAY, according to the new index values based on the population_dependent_bound. After reindexing, elements at invalid index positions are no longer accessible. Elements at new index positions have unset values.

    This method is not implemented in current JSDAI version. SdaiException FN_NAVL will be thrown if this method is invoked.

    Parameters:
    lower - the new lower index value.
    upper - the new upper index value.
    Throws:
    SdaiException - FN_NAVL, function not available.
    See Also:
    jsdai.dictionary.EPopulation_dependent_bound, "ISO 10303-22::10.18.4 Reset array index"

    addByIndex

    public void addByIndex(int index,
                           java.lang.Object value,
                           jsdai.dictionary.EDefined_type[] select)
                    throws SdaiException
    Adds a new member of type Object at the specified index position to this Aggregate, provided its type is LIST. The method is invalid for aggregates of other EXPRESS types. If the specified index is equal to the list size plus one, the value submitted is appended to the end of the list. If the specified index is greater than the above indicated value, then SdaiException IX_NVLD is thrown.

    If the type of the aggregate elements is select type and the set of possible leaf types is not a subset of the set of entity data types, then the select path corresponding to the value to be added needs to be submitted (through the third method's parameter). Otherwise, null to the third parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    index - the list position for the new member.
    value - the value to be added.
    select - select path corresponding to the value submitted.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NSET, value not set.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - IX_NVLD, index invalid.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    addByIndex(int, int, EDefined_type[]), addByIndex(int, double, EDefined_type[]), addByIndex(int, boolean, EDefined_type[]), createAggregateByIndex(int, jsdai.dictionary.EDefined_type[]), "ISO 10303-22::10.19.3 Add by index"

    addByIndex

    public void addByIndex(int index,
                           int value,
                           jsdai.dictionary.EDefined_type[] select)
                    throws SdaiException
    Adds a new member of type int at the specified index position to this Aggregate, provided its type is LIST. The method is invalid for aggregates of other EXPRESS types. If the specified index is equal to the list size plus one, the value submitted is appended to the end of the list. If the specified index is greater than the above indicated value, then SdaiException IX_NVLD is thrown.

    If the type of the aggregate elements is select type, then the select path corresponding to the value to be added needs to be submitted (through the third method's parameter). Otherwise, null to the third parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    index - the list position for the new member.
    value - the value to be added.
    select - select path corresponding to the value submitted.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NSET, value not set.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - IX_NVLD, index invalid.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    addByIndex(int, Object, EDefined_type[]), addByIndex(int, double, EDefined_type[]), addByIndex(int, boolean, EDefined_type[]), "ISO 10303-22::10.19.3 Add by index"

    addByIndex

    public void addByIndex(int index,
                           double value,
                           jsdai.dictionary.EDefined_type[] select)
                    throws SdaiException
    Adds a new member of type double at the specified index position to this Aggregate, provided its type is LIST. The method is invalid for aggregates of other EXPRESS types. If the specified index is equal to the list size plus one, the value submitted is appended to the end of the list. If the specified index is greater than the above indicated value, then SdaiException IX_NVLD is thrown.

    If the type of the aggregate elements is select type, then the select path corresponding to the value to be added needs to be submitted (through the third method's parameter). Otherwise, null to the third parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    index - the list position for the new member.
    value - the value to be added.
    select - select path corresponding to the value submitted.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NSET, value not set.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - IX_NVLD, index invalid.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    addByIndex(int, Object, EDefined_type[]), addByIndex(int, int, EDefined_type[]), addByIndex(int, boolean, EDefined_type[]), "ISO 10303-22::10.19.3 Add by index"

    addByIndex

    public void addByIndex(int index,
                           boolean value,
                           jsdai.dictionary.EDefined_type[] select)
                    throws SdaiException
    Adds a new member of type boolean at the specified index position to this Aggregate, provided its type is LIST. The method is invalid for aggregates of other EXPRESS types. If the specified index is equal to the list size plus one, the value submitted is appended to the end of the list. If the specified index is greater than the above indicated value, then SdaiException IX_NVLD is thrown.

    If the type of the aggregate elements is select type, then the select path corresponding to the value to be added needs to be submitted (through the third method's parameter). Otherwise, null to the third parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    index - the list position for the new member.
    value - the value to be added.
    select - select path corresponding to the value submitted.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - IX_NVLD, index invalid.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    addByIndex(int, Object, EDefined_type[]), addByIndex(int, int, EDefined_type[]), addByIndex(int, double, EDefined_type[]), "ISO 10303-22::10.19.3 Add by index"

    addAggregateByIndex

    public Aggregate addAggregateByIndex(int index,
                                         jsdai.dictionary.EDefined_type[] select)
                                  throws SdaiException
    Creates a new, empty aggregate instance and adds this instance at the specified index position to this Aggregate, provided the type of this Aggregate is LIST. The method is invalid for aggregates of other EXPRESS types. If the specified index is equal to the list size plus one, the aggregate created is appended to the end of the list. If the specified index is greater than the above indicated value, then SdaiException IX_NVLD is thrown.

    If the type of the aggregate elements is select type, then the select path identifying the type of the aggregate requested to create and add to this Aggregate needs to be submitted (through the second method's parameter). Otherwise, null to the second parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    index - the list position for the aggregate created.
    select - select path identifying the type of the aggregate to be created.
    Returns:
    the newly created empty aggregate.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - IX_NVLD, index invalid.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    "ISO 10303-22::10.19.6 Add aggregate instance by index"

    removeByIndex

    public void removeByIndex(int index)
                       throws SdaiException
    Removes the member at the specified index position from this Aggregate, provided the type of this Aggregate is LIST. The method is invalid for aggregates of other EXPRESS types. If the specified list member is an aggregate instance, then that aggregate instance is deleted along with all nested aggregate instances contained by it.

    IF the aggregate is not LIST, then SdaiException AI_NVLD is thrown.

    Parameters:
    index - the list position of the member to be removed.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - IX_NVLD, index invalid.
    SdaiException - FN_NAVL, function not available.
    See Also:
    "ISO 10303-22::10.19.7 Remove by index"

    addUnordered

    public void addUnordered(java.lang.Object value,
                             jsdai.dictionary.EDefined_type[] select)
                      throws SdaiException
    Adds a new member of type Object to this Aggregate, provided the type of this Aggregate is different than ARRAY. Processing of the LIST type is an extension of the functionality of Add unordered operation specified in ISO 10303-22::10.14.1. If this case, a new member is added at the end of the list. The method is invalid for aggregates of EXPRESS ARRAY type.

    If the type of the aggregate elements is select type and the set of possible leaf types is not a subset of the set of entity data types, then the select path corresponding to the value to be added needs to be submitted (through the second method's parameter). Otherwise, null to the second parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    value - the value to be added.
    select - select path corresponding to the value submitted.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NSET, value not set.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    addUnordered(int, EDefined_type[]), addUnordered(double, EDefined_type[]), addUnordered(boolean, EDefined_type[]), createAggregateUnordered(jsdai.dictionary.EDefined_type[]), "ISO 10303-22::10.14.1 Add unordered"

    addUnordered

    public void addUnordered(int value,
                             jsdai.dictionary.EDefined_type[] select)
                      throws SdaiException
    Adds a new member of type int to this Aggregate, provided the type of this Aggregate is different than ARRAY. Processing of the LIST type is an extension of the functionality of Add unordered operation specified in ISO 10303-22::10.14.1. If this case, a new member is added at the end of the list. The method is invalid for aggregates of EXPRESS ARRAY type.

    If the type of the aggregate elements is select type, then the select path corresponding to the value to be added needs to be submitted (through the second method's parameter). Otherwise, null to the second parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    value - the value to be added.
    select - select path corresponding to the value submitted.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NSET, value not set.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    addUnordered(Object, EDefined_type[]), addUnordered(double, EDefined_type[]), addUnordered(boolean, EDefined_type[]), "ISO 10303-22::10.14.1 Add unordered"

    addUnordered

    public void addUnordered(double value,
                             jsdai.dictionary.EDefined_type[] select)
                      throws SdaiException
    Adds a new member of type double to this Aggregate, provided the type of this Aggregate is different than ARRAY. Processing of the LIST type is an extension of the functionality of Add unordered operation specified in ISO 10303-22::10.14.1. If this case, a new member is added at the end of the list. The method is invalid for aggregates of EXPRESS ARRAY type.

    If the type of the aggregate elements is select type, then the select path corresponding to the value to be added needs to be submitted (through the second method's parameter). Otherwise, null to the second parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    value - the value to be added.
    select - select path corresponding to the value submitted.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NSET, value not set.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    addUnordered(Object, EDefined_type[]), addUnordered(int, EDefined_type[]), addUnordered(boolean, EDefined_type[]), "ISO 10303-22::10.14.1 Add unordered"

    addUnordered

    public void addUnordered(boolean value,
                             jsdai.dictionary.EDefined_type[] select)
                      throws SdaiException
    Adds a new member of type boolean to this Aggregate, provided the type of this Aggregate is different than ARRAY. Processing of the LIST type is an extension of the functionality of Add unordered operation specified in ISO 10303-22::10.14.1. If this case, a new member is added at the end of the list. The method is invalid for aggregates of EXPRESS ARRAY type.

    If the type of the aggregate elements is select type, then the select path corresponding to the value to be added needs to be submitted (through the second method's parameter). Otherwise, null to the second parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    value - the value to be added.
    select - select path corresponding to the value submitted.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    addUnordered(Object, EDefined_type[]), addUnordered(int, EDefined_type[]), addUnordered(double, EDefined_type[]), "ISO 10303-22::10.14.1 Add unordered"

    createAggregateUnordered

    public Aggregate createAggregateUnordered(jsdai.dictionary.EDefined_type[] select)
                                       throws SdaiException
    Creates a new, empty aggregate instance and adds this instance to this Aggregate, provided the type of this Aggregate is either SET or BAG. The method is invalid for aggregates of other EXPRESS types, that is, ARRAY and LIST.

    If the type of the aggregate elements is select type, then the select path identifying the type of the aggregate requested to create and add to this Aggregate needs to be submitted (through the method's parameter). Otherwise, null to the method's parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    select - select path identifying the type of the aggregate to be created.
    Returns:
    the newly created empty aggregate.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    "ISO 10303-22::10.14.2 Create aggregate instance unordered"

    removeUnordered

    public void removeUnordered(java.lang.Object value,
                                jsdai.dictionary.EDefined_type[] select)
                         throws SdaiException
    Removes one occurrence of the specified value of type Object from this Aggregate, provided the type of this Aggregate is either SET or BAG. The method is invalid for aggregates of other EXPRESS types, that is, ARRAY and LIST. If the member being removed is an aggregate instance, then that aggregate instance is deleted along with all nested aggregate instances contained by it.

    If the type of the aggregate elements is select type and the set of possible leaf types is not a subset of the set of entity data types, then the select path corresponding to the value to be removed needs to be submitted (through the second method's parameter). Otherwise, null to the second parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    value - the value to be removed.
    select - select path corresponding to the value submitted for removal.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NEXS, value does not exist.
    SdaiException - VA_NSET, value not set.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    removeUnordered(int, EDefined_type[]), removeUnordered(double, EDefined_type[]), removeUnordered(boolean, EDefined_type[]), "ISO 10303-22::10.14.3 Remove unordered"

    removeUnordered

    public void removeUnordered(int value,
                                jsdai.dictionary.EDefined_type[] select)
                         throws SdaiException
    Removes one occurrence of the specified value of type int from this Aggregate, provided the type of this Aggregate is either SET or BAG. The method is invalid for aggregates of other EXPRESS types, that is, ARRAY and LIST.

    If the type of the aggregate elements is select type, then the select path corresponding to the value to be removed needs to be submitted (through the second method's parameter). Otherwise, null to the second parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    value - the value to be removed.
    select - select path corresponding to the value submitted for removal.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NEXS, value does not exist.
    SdaiException - VA_NSET, value not set.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    removeUnordered(Object, EDefined_type[]), removeUnordered(double, EDefined_type[]), removeUnordered(boolean, EDefined_type[]), "ISO 10303-22::10.14.3 Remove unordered"

    removeUnordered

    public void removeUnordered(double value,
                                jsdai.dictionary.EDefined_type[] select)
                         throws SdaiException
    Removes one occurrence of the specified value of type double from this Aggregate, provided the type of this Aggregate is either SET or BAG. The method is invalid for aggregates of other EXPRESS types, that is, ARRAY and LIST.

    If the type of the aggregate elements is select type, then the select path corresponding to the value to be removed needs to be submitted (through the second method's parameter). Otherwise, null to the second parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    value - the value to be removed.
    select - select path corresponding to the value submitted for removal.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NEXS, value does not exist.
    SdaiException - VA_NSET, value not set.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    removeUnordered(Object, EDefined_type[]), removeUnordered(int, EDefined_type[]), removeUnordered(boolean, EDefined_type[]), "ISO 10303-22::10.14.3 Remove unordered"

    removeUnordered

    public void removeUnordered(boolean value,
                                jsdai.dictionary.EDefined_type[] select)
                         throws SdaiException
    Removes one occurrence of the specified value of type boolean from this Aggregate, provided the type of this Aggregate is either SET or BAG. The method is invalid for aggregates of other EXPRESS types, that is, ARRAY and LIST.

    If the type of the aggregate elements is select type, then the select path corresponding to the value to be removed needs to be submitted (through the second method's parameter). Otherwise, null to the second parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    value - the value to be removed.
    select - select path corresponding to the value submitted for removal.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NEXS, value does not exist.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    removeUnordered(Object, EDefined_type[]), removeUnordered(int, EDefined_type[]), removeUnordered(double, EDefined_type[]), "ISO 10303-22::10.14.3 Remove unordered"

    testCurrentMember

    public int testCurrentMember(SdaiIterator iter,
                                 jsdai.dictionary.EDefined_type[] select)
                          throws SdaiException
    Checks if a value is set for the member of this Aggregate at the position specified by an iterator, and if so, returns the flag indicating the type of this value. The method is valid not only for EXPRESS type ARRAY but also for other types: SET, BAG and LIST (except non-persistent one). This feature is an extension of the standard. The possible return values are the following: The case of return value 2 encompasses the cases when the aggregate value is of EXPRESS type INTEGER, ENUMERATION and LOGICAL. For the same value each of the methods testCurrentMember, testByIndex and EEntity.testAttribute returns the same type indicator.

    If the type of the aggregate elements is select type and the set of possible leaf types is not a subset of the set of entity data types, then the array "select" (the second method's parameter) of sufficient size for storing the select path corresponding to the current member value specified by an iterator must be submitted. Otherwise, null to the second parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in Technical corrigendum of ISO 10303-21:11.1.8). The method returns the array "select" with defined data types stored in it. The number of elements in this array is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. If "select" array is not provided or is of insufficient size, then SdaiException VT_NVLD and, respectively, VA_NVLD is thrown. Passing null value for the iterator results in SdaiException IR_NEXS.

    The usage of this method is similar as in Example 1 provided for EEntity.testAttribute method. The early binding usage of the "Test current member" operation is similar as in Example 2 given in the description of the same method.

    Parameters:
    iter - the iterator specifying the aggregate member to be tested.
    select - an array provided for storing the select path corresponding to the member value being tested.
    Returns:
    the flag indicating either the type of the member value or the fact that the specified aggregate member is unset.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NDEF, SdaiModel access not defined.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - IR_NEXS, iterator does not exist.
    SdaiException - IR_NSET, current member is not defined.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    testCurrentMember(SdaiIterator), "ISO 10303-22::10.17.2 Test current member"

    testCurrentMember

    public int testCurrentMember(SdaiIterator iter)
                          throws SdaiException
    Checks if a value is set for the member of this Aggregate at the position specified by an iterator, and if so, returns the flag indicating the type of this value. The method is valid not only for EXPRESS type ARRAY but also for other types: SET, BAG and LIST (except non-persistent one). This feature is an extension of the standard. The possible return values are the following: The case of return value 2 encompasses the cases when the aggregate value is of EXPRESS type INTEGER, ENUMERATION and LOGICAL.

    If the type of the aggregate elements is select type, then SdaiException AI_NVLD is thrown. Passing null value for the iterator results in SdaiException IR_NEXS.

    Parameters:
    iter - the iterator specifying the aggregate member to be tested.
    Returns:
    the flag indicating either the type of the member value or the fact that the specified aggregate member is unset.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NDEF, SdaiModel access not defined.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - IR_NEXS, iterator does not exist.
    SdaiException - IR_NSET, current member is not defined.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    testCurrentMember(SdaiIterator, EDefined_type []), "ISO 10303-22::10.17.2 Test current member"

    getCurrentMemberObject

    public java.lang.Object getCurrentMemberObject(SdaiIterator iter)
                                            throws SdaiException
    Returns the value (of type Object) of the member of this Aggregate at the position specified by an iterator. If null is passed to the method's parameter, then SdaiException IR_NEXS is thrown.

    Parameters:
    iter - the iterator specifying the aggregate member to return.
    Returns:
    the member of this aggregate referenced by the iterator.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NDEF, SdaiModel access not defined.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NSET, value not set.
    SdaiException - IR_NEXS, iterator does not exist.
    SdaiException - IR_NSET, current member is not defined.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    getCurrentMemberInt(jsdai.lang.SdaiIterator), getCurrentMemberDouble(jsdai.lang.SdaiIterator), getCurrentMemberBoolean(jsdai.lang.SdaiIterator), "ISO 10303-22::10.12.7 Get current member"

    getCurrentMemberInt

    public int getCurrentMemberInt(SdaiIterator iter)
                            throws SdaiException
    Returns the value (of type int) of the member of this Aggregate at the position specified by an iterator.

    If value to be returned is not of Java int type, then SdaiException VT_NVLD is thrown. Passing null to the method's parameter results in SdaiException IR_NEXS.

    Parameters:
    iter - the iterator specifying the aggregate member to return.
    Returns:
    the member value referenced by the iterator.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NDEF, SdaiModel access not defined.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NSET, value not set.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - IR_NEXS, iterator does not exist.
    SdaiException - IR_NSET, current member is not defined.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    getCurrentMemberObject(jsdai.lang.SdaiIterator), getCurrentMemberDouble(jsdai.lang.SdaiIterator), getCurrentMemberBoolean(jsdai.lang.SdaiIterator), "ISO 10303-22::10.12.7 Get current member"

    getCurrentMemberDouble

    public double getCurrentMemberDouble(SdaiIterator iter)
                                  throws SdaiException
    Returns the value (of type double) of the member of this Aggregate at the position specified by an iterator.

    If value to be returned is not of Java double type, then SdaiException VT_NVLD is thrown. Passing null to the method's parameter results in SdaiException IR_NEXS.

    Parameters:
    iter - the iterator specifying the aggregate member to return.
    Returns:
    the member value referenced by the iterator.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NDEF, SdaiModel access not defined.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NSET, value not set.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - IR_NEXS, iterator does not exist.
    SdaiException - IR_NSET, current member is not defined.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    getCurrentMemberObject(jsdai.lang.SdaiIterator), getCurrentMemberInt(jsdai.lang.SdaiIterator), getCurrentMemberBoolean(jsdai.lang.SdaiIterator), "ISO 10303-22::10.12.7 Get current member"

    getCurrentMemberBoolean

    public boolean getCurrentMemberBoolean(SdaiIterator iter)
                                    throws SdaiException
    Returns the value (of type boolean) of the member of this Aggregate at the position specified by an iterator.

    If value to be returned is not of Java boolean type, then SdaiException VT_NVLD is thrown. Passing null to the method's parameter results in SdaiException IR_NEXS.

    Parameters:
    iter - the iterator specifying the aggregate member to return.
    Returns:
    the member value referenced by the iterator.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NDEF, SdaiModel access not defined.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NSET, value not set.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - IR_NEXS, iterator does not exist.
    SdaiException - IR_NSET, current member is not defined.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    getCurrentMemberObject(jsdai.lang.SdaiIterator), getCurrentMemberInt(jsdai.lang.SdaiIterator), getCurrentMemberDouble(jsdai.lang.SdaiIterator), "ISO 10303-22::10.12.7 Get current member"

    createAggregateAsCurrentMember

    public Aggregate createAggregateAsCurrentMember(SdaiIterator iter,
                                                    jsdai.dictionary.EDefined_type[] select)
                                             throws SdaiException
    Creates a new, empty aggregate instance and assigns it to a member of this Aggregate at the position specified by an iterator. If the old value is an aggregate instance, then it is deleted along with any nested aggregate instances contained by it.

    If the type of the aggregate elements is select type, then the select path identifying the type of the aggregate requested to create as a member of this Aggregate needs to be submitted (through the second method's parameter). Otherwise, null to the second parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    iter - the iterator specifying the position of the aggregate member to be replaced by the newly created aggregate.
    select - select path identifying the type of the aggregate to be created.
    Returns:
    the newly created empty aggregate.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - IR_NEXS, iterator does not exist.
    SdaiException - IR_NSET, current member is not defined.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    "ISO 10303-22::10.13.1 Create aggregate instance as current member"

    setCurrentMember

    public void setCurrentMember(SdaiIterator iter,
                                 java.lang.Object value,
                                 jsdai.dictionary.EDefined_type[] select)
                          throws SdaiException
    Assigns a new value of type Object to a member of this Aggregate at the position specified by an iterator. If the old value is an aggregate instance, then it is deleted along with any nested aggregate instances contained by it.

    If the type of the aggregate elements is select type and the set of possible leaf types is not a subset of the set of entity data types, then the select path corresponding to the value to be assigned needs to be submitted (through the third method's parameter). Otherwise, null to the third parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    iter - the iterator specifying the position of the aggregate member to assign the specified value.
    value - the value to be assigned.
    select - select path corresponding to the value submitted.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - VA_NSET, value not set.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - IR_NEXS, iterator does not exist.
    SdaiException - IR_NSET, current member is not defined.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    setCurrentMember(SdaiIterator, int, EDefined_type[]), setCurrentMember(SdaiIterator, double, EDefined_type[]), setCurrentMember(SdaiIterator, boolean, EDefined_type[]), createAggregateAsCurrentMember(jsdai.lang.SdaiIterator, jsdai.dictionary.EDefined_type[]), "ISO 10303-22::10.13.2 Put current member"

    setCurrentMember

    public void setCurrentMember(SdaiIterator iter,
                                 int value,
                                 jsdai.dictionary.EDefined_type[] select)
                          throws SdaiException
    Assigns a new value of type int to a member of this Aggregate at the position specified by an iterator. If the old value is an aggregate instance, then it is deleted along with any nested aggregate instances contained by it.

    If the type of the aggregate elements is select type, then the select path corresponding to the value to be assigned needs to be submitted (through the third method's parameter). Otherwise, null to the third parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    iter - the iterator specifying the position of the aggregate member to assign the specified value.
    value - the value to be assigned.
    select - select path corresponding to the value submitted.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - VA_NSET, value not set.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - IR_NEXS, iterator does not exist.
    SdaiException - IR_NSET, current member is not defined.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    setCurrentMember(SdaiIterator, Object, EDefined_type[]), setCurrentMember(SdaiIterator, double, EDefined_type[]), setCurrentMember(SdaiIterator, boolean, EDefined_type[]), "ISO 10303-22::10.13.2 Put current member"

    setCurrentMember

    public void setCurrentMember(SdaiIterator iter,
                                 double value,
                                 jsdai.dictionary.EDefined_type[] select)
                          throws SdaiException
    Assigns a new value of type double to a member of this Aggregate at the position specified by an iterator. If the old value is an aggregate instance, then it is deleted along with any nested aggregate instances contained by it.

    If the type of the aggregate elements is select type, then the select path corresponding to the value to be assigned needs to be submitted (through the third method's parameter). Otherwise, null to the third parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    iter - the iterator specifying the position of the aggregate member to assign the specified value.
    value - the value to be assigned.
    select - select path corresponding to the value submitted.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - VA_NSET, value not set.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - IR_NEXS, iterator does not exist.
    SdaiException - IR_NSET, current member is not defined.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    setCurrentMember(SdaiIterator, Object, EDefined_type[]), setCurrentMember(SdaiIterator, int, EDefined_type[]), setCurrentMember(SdaiIterator, boolean, EDefined_type[]), "ISO 10303-22::10.13.2 Put current member"

    setCurrentMember

    public void setCurrentMember(SdaiIterator iter,
                                 boolean value,
                                 jsdai.dictionary.EDefined_type[] select)
                          throws SdaiException
    Assigns a new value of type boolean to a member of this Aggregate at the position specified by an iterator. If the old value is an aggregate instance, then it is deleted along with any nested aggregate instances contained by it.

    If the type of the aggregate elements is select type, then the select path corresponding to the value to be assigned needs to be submitted (through the third method's parameter). Otherwise, null to the third parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    iter - the iterator specifying the position of the aggregate member to assign the specified value.
    value - the value to be assigned.
    select - select path corresponding to the value submitted.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - IR_NEXS, iterator does not exist.
    SdaiException - IR_NSET, current member is not defined.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    setCurrentMember(SdaiIterator, Object, EDefined_type[]), setCurrentMember(SdaiIterator, int, EDefined_type[]), setCurrentMember(SdaiIterator, double, EDefined_type[]), "ISO 10303-22::10.13.2 Put current member"

    addBefore

    public void addBefore(SdaiIterator iter,
                          java.lang.Object value,
                          jsdai.dictionary.EDefined_type[] select)
                   throws SdaiException
    Adds a new member of type Object immediately before the member of this Aggregate placed at the position specified by an iterator, provided the type of this Aggregate is LIST. The method is invalid for aggregates of other EXPRESS types. If iterator has no current member, then this method behaves as follows. If iterator is at the beginning and the list is nonempty, then the new member is inserted before the first member of the list, and the iterator is positioned to reference the new member. Otherwise, the new member is appended to the list, and the iterator is left at the end of the list with no member referenced.

    If the type of the aggregate elements is select type and the set of possible leaf types is not a subset of the set of entity data types, then the select path corresponding to the value to be added needs to be submitted (through the third method's parameter). Otherwise, null to the third parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    iter - the iterator specifying the position of the aggregate member before which the specified value has to be added.
    value - the value to be added.
    select - select path corresponding to the value submitted.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NSET, value not set.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - IR_NEXS, iterator does not exist.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    addBefore(SdaiIterator, int, EDefined_type[]), addBefore(SdaiIterator, double, EDefined_type[]), addBefore(SdaiIterator, boolean, EDefined_type[]), createAggregateBefore(jsdai.lang.SdaiIterator, jsdai.dictionary.EDefined_type[]), "ISO 10303-22::10.19.1 Add before current member"

    addBefore

    public void addBefore(SdaiIterator iter,
                          int value,
                          jsdai.dictionary.EDefined_type[] select)
                   throws SdaiException
    Adds a new member of type int immediately before the member of this Aggregate placed at the position specified by an iterator, provided the type of this Aggregate is LIST. The method is invalid for aggregates of other EXPRESS types. If iterator has no current member, then this method behaves as follows. If iterator is at the beginning and the list is nonempty, then the new member is inserted before the first member of the list, and the iterator is positioned to reference the new member. Otherwise, the new member is appended to the list, and the iterator is left at the end of the list with no member referenced.

    If the type of the aggregate elements is select type, then the select path corresponding to the value to be added needs to be submitted (through the third method's parameter). Otherwise, null to the third parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    iter - the iterator specifying the position of the aggregate member before which the specified value has to be added.
    value - the value to be added.
    select - select path corresponding to the value submitted.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NSET, value not set.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - IR_NEXS, iterator does not exist.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    addBefore(SdaiIterator, Object, EDefined_type[]), addBefore(SdaiIterator, double, EDefined_type[]), addBefore(SdaiIterator, boolean, EDefined_type[]), "ISO 10303-22::10.19.1 Add before current member"

    addBefore

    public void addBefore(SdaiIterator iter,
                          double value,
                          jsdai.dictionary.EDefined_type[] select)
                   throws SdaiException
    Adds a new member of type double immediately before the member of this Aggregate placed at the position specified by an iterator, provided the type of this Aggregate is LIST. The method is invalid for aggregates of other EXPRESS types. If iterator has no current member, then this method behaves as follows. If iterator is at the beginning and the list is nonempty, then the new member is inserted before the first member of the list, and the iterator is positioned to reference the new member. Otherwise, the new member is appended to the list, and the iterator is left at the end of the list with no member referenced.

    If the type of the aggregate elements is select type, then the select path corresponding to the value to be added needs to be submitted (through the third method's parameter). Otherwise, null to the third parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    iter - the iterator specifying the position of the aggregate member before which the specified value has to be added.
    value - the value to be added.
    select - select path corresponding to the value submitted.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NSET, value not set.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - IR_NEXS, iterator does not exist.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    addBefore(SdaiIterator, Object, EDefined_type[]), addBefore(SdaiIterator, int, EDefined_type[]), addBefore(SdaiIterator, boolean, EDefined_type[]), "ISO 10303-22::10.19.1 Add before current member"

    addBefore

    public void addBefore(SdaiIterator iter,
                          boolean value,
                          jsdai.dictionary.EDefined_type[] select)
                   throws SdaiException
    Adds a new member of type boolean immediately before the member of this Aggregate placed at the position specified by an iterator, provided the type of this Aggregate is LIST. The method is invalid for aggregates of other EXPRESS types. If iterator has no current member, then this method behaves as follows. If iterator is at the beginning and the list is nonempty, then the new member is inserted before the first member of the list, and the iterator is positioned to reference the new member. Otherwise, the new member is appended to the list, and the iterator is left at the end of the list with no member referenced.

    If the type of the aggregate elements is select type, then the select path corresponding to the value to be added needs to be submitted (through the third method's parameter). Otherwise, null to the third parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    iter - the iterator specifying the position of the aggregate member before which the specified value has to be added.
    value - the value to be added.
    select - select path corresponding to the value submitted.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - IR_NEXS, iterator does not exist.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    addBefore(SdaiIterator, Object, EDefined_type[]), addBefore(SdaiIterator, int, EDefined_type[]), addBefore(SdaiIterator, double, EDefined_type[]), "ISO 10303-22::10.19.1 Add before current member"

    addAfter

    public void addAfter(SdaiIterator iter,
                         java.lang.Object value,
                         jsdai.dictionary.EDefined_type[] select)
                  throws SdaiException
    Adds a new member of type Object immediately after the member of this Aggregate placed at the position specified by an iterator, provided the type of this Aggregate is LIST. The method is invalid for aggregates of other EXPRESS types. If iterator has no current member, then this method behaves as follows. If iterator is at the end and the list is nonempty, then the new member is appended to the list, and the iterator is positioned to reference the new member. Otherwise, the new member is inserted before the first member of the list, and the iterator is left at the beginning of the list with no member referenced.

    If the type of the aggregate elements is select type and the set of possible leaf types is not a subset of the set of entity data types, then the select path corresponding to the value to be added needs to be submitted (through the third method's parameter). Otherwise, null to the third parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    iter - the iterator specifying the position of the aggregate member after which the specified value has to be added.
    value - the value to be added.
    select - select path corresponding to the value submitted.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NSET, value not set.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - IR_NEXS, iterator does not exist.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    addAfter(SdaiIterator, int, EDefined_type[]), addAfter(SdaiIterator, double, EDefined_type[]), addAfter(SdaiIterator, boolean, EDefined_type[]), createAggregateAfter(jsdai.lang.SdaiIterator, jsdai.dictionary.EDefined_type[]), "ISO 10303-22::10.19.2 Add after current member"

    addAfter

    public void addAfter(SdaiIterator iter,
                         int value,
                         jsdai.dictionary.EDefined_type[] select)
                  throws SdaiException
    Adds a new member of type int immediately after the member of this Aggregate placed at the position specified by an iterator, provided the type of this Aggregate is LIST. The method is invalid for aggregates of other EXPRESS types. If iterator has no current member, then this method behaves as follows. If iterator is at the end and the list is nonempty, then the new member is appended to the list, and the iterator is positioned to reference the new member. Otherwise, the new member is inserted before the first member of the list, and the iterator is left at the beginning of the list with no member referenced.

    If the type of the aggregate elements is select type, then the select path corresponding to the value to be added needs to be submitted (through the third method's parameter). Otherwise, null to the third parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    iter - the iterator specifying the position of the aggregate member after which the specified value has to be added.
    value - the value to be added.
    select - select path corresponding to the value submitted.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NSET, value not set.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - IR_NEXS, iterator does not exist.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    addAfter(SdaiIterator, Object, EDefined_type[]), addAfter(SdaiIterator, double, EDefined_type[]), addAfter(SdaiIterator, boolean, EDefined_type[]), "ISO 10303-22::10.19.2 Add after current member"

    addAfter

    public void addAfter(SdaiIterator iter,
                         double value,
                         jsdai.dictionary.EDefined_type[] select)
                  throws SdaiException
    Adds a new member of type double immediately after the member of this Aggregate placed at the position specified by an iterator, provided the type of this Aggregate is LIST. The method is invalid for aggregates of other EXPRESS types. If iterator has no current member, then this method behaves as follows. If iterator is at the end and the list is nonempty, then the new member is appended to the list, and the iterator is positioned to reference the new member. Otherwise, the new member is inserted before the first member of the list, and the iterator is left at the beginning of the list with no member referenced.

    If the type of the aggregate elements is select type, then the select path corresponding to the value to be added needs to be submitted (through the third method's parameter). Otherwise, null to the third parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    iter - the iterator specifying the position of the aggregate member after which the specified value has to be added.
    value - the value to be added.
    select - select path corresponding to the value submitted.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NSET, value not set.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - IR_NEXS, iterator does not exist.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    addAfter(SdaiIterator, Object, EDefined_type[]), addAfter(SdaiIterator, int, EDefined_type[]), addAfter(SdaiIterator, boolean, EDefined_type[]), "ISO 10303-22::10.19.2 Add after current member"

    addAfter

    public void addAfter(SdaiIterator iter,
                         boolean value,
                         jsdai.dictionary.EDefined_type[] select)
                  throws SdaiException
    Adds a new member of type boolean immediately after the member of this Aggregate placed at the position specified by an iterator, provided the type of this Aggregate is LIST. The method is invalid for aggregates of other EXPRESS types. If iterator has no current member, then this method behaves as follows. If iterator is at the end and the list is nonempty, then the new member is appended to the list, and the iterator is positioned to reference the new member. Otherwise, the new member is inserted before the first member of the list, and the iterator is left at the beginning of the list with no member referenced.

    If the type of the aggregate elements is select type, then the select path corresponding to the value to be added needs to be submitted (through the third method's parameter). Otherwise, null to the third parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    iter - the iterator specifying the position of the aggregate member after which the specified value has to be added.
    value - the value to be added.
    select - select path corresponding to the value submitted.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - IR_NEXS, iterator does not exist.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    addAfter(SdaiIterator, Object, EDefined_type[]), addAfter(SdaiIterator, int, EDefined_type[]), addAfter(SdaiIterator, double, EDefined_type[]), "ISO 10303-22::10.19.2 Add after current member"

    createAggregateBefore

    public Aggregate createAggregateBefore(SdaiIterator iter,
                                           jsdai.dictionary.EDefined_type[] select)
                                    throws SdaiException
    Creates a new, empty aggregate instance and adds it immediately before the member of this Aggregate placed at the position specified by an iterator, provided the type of this Aggregate is LIST. The method is invalid for aggregates of other EXPRESS types. If iterator has no current member, then this method behaves as follows. If iterator is at the beginning and the list is nonempty, then the new aggregate instance is inserted before the first member of the list, and the iterator is positioned to reference this instance. Otherwise, the new aggregate instance is appended to the list, and the iterator is left at the end of the list with no member referenced.

    If the type of the aggregate elements is select type, then the select path identifying the type of the aggregate requested to create and add as a member of this Aggregate needs to be submitted (through the second method's parameter). Otherwise, null to the second parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    iter - the iterator specifying the position of the aggregate member before which the new aggregate instance has to be added.
    select - select path identifying the type of the aggregate to be created.
    Returns:
    the newly created empty aggregate.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - IR_NEXS, iterator does not exist.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    createAggregateAfter(jsdai.lang.SdaiIterator, jsdai.dictionary.EDefined_type[]), "ISO 10303-22::10.19.4 Create aggregate instance before current member"

    createAggregateAfter

    public Aggregate createAggregateAfter(SdaiIterator iter,
                                          jsdai.dictionary.EDefined_type[] select)
                                   throws SdaiException
    Creates a new, empty aggregate instance and adds it immediately after the member of this Aggregate placed at the position specified by an iterator, provided the type of this Aggregate is LIST. The method is invalid for aggregates of other EXPRESS types. If iterator has no current member, then this method behaves as follows. If iterator is at the end and the list is nonempty, then the new aggregate instance is appended to the list, and the iterator is positioned to reference this instance. Otherwise, the new aggregate instance is inserted before the first member of the list, and the iterator is left at the beginning of the list with no member referenced.

    If the type of the aggregate elements is select type, then the select path identifying the type of the aggregate requested to create and add as a member of this Aggregate needs to be submitted (through the second method's parameter). Otherwise, null to the second parameter can be passed. Select path is a sequence of defined data types needed to specify a value of a select data type (as defined in ISO 10303-21:11.1.8). The number of defined data types in the array "select" giving the select path is either specified by the position of the first null value in this array or is equal to the length of this array if it contains no null value. For a definition of the select path and a detailed example see set(EAttribute, Object, EDefined_type[])

    The list of cases when SdaiException is thrown contains the following items:

    Parameters:
    iter - the iterator specifying the position of the aggregate member after which the new aggregate instance has to be added.
    select - select path identifying the type of the aggregate to be created.
    Returns:
    the newly created empty aggregate.
    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - AI_NVLD, aggregate instance invalid.
    SdaiException - VA_NVLD, value invalid.
    SdaiException - VT_NVLD, value type invalid.
    SdaiException - IR_NEXS, iterator does not exist.
    SdaiException - FN_NAVL, function not available.
    SdaiException - SY_ERR, underlying system error.
    See Also:
    createAggregateBefore(jsdai.lang.SdaiIterator, jsdai.dictionary.EDefined_type[]), "ISO 10303-22::10.19.5 Create aggregate instance after current member"

    clear

    public void clear()
               throws SdaiException
    Removes all members from this Aggregate if its EXPRESS type is either LIST, or SET, or BAG, and unsets all members of this Aggregate if its type is ARRAY. After execution of this method the length of the aggregate, provided its type is not bounded ARRAY, is zero. When method is applied to an aggregate which is read-only (as, for example, produced by getInstances methods in class SdaiModel), then SdaiException FN_NAVL is thrown.

    This method is an extension of JSDAI, which is not a part of the standard.

    Throws:
    SdaiException - TR_NAVL, transaction currently not available.
    SdaiException - TR_EAB, transaction ended abnormally.
    SdaiException - MX_NRW, SDAI-model access not read-write.
    SdaiException - EI_NEXS, entity instance does not exist.
    SdaiException - AI_NEXS, aggregate instance does not exist.
    SdaiException - FN_NAVL, function not available.

    getAggregationType

    public jsdai.dictionary.EAggregation_type getAggregationType()
                                                          throws SdaiException
    Returns the aggregation type for this Aggregate. Every instance of Aggregate has its own aggregation type which provides an information about the type of the aggregate members and EXPRESS type of the aggregate itself. This information is contained in the data dictionary. If an aggregate is a non-persistent list, then null is returned.

    This method is an extension of JSDAI, which is not a part of the standard.

    Returns:
    the aggregation type this Aggregate is based on.
    Throws:
    SdaiException
    See Also:
    jsdai.dictionary.EAggregation_type

    Copyright © LKSoftWare GmbH, 1999-2008