|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object jsdai.lang.SdaiCommon jsdai.lang.A_basis jsdai.lang.SessionAggregate jsdai.lang.ASdaiModel
Specialized class implementing Aggregate
for members of
type SdaiModel
. See Aggregate for detailed
description of methods whose specializations are given here.
Constructor Summary | |
ASdaiModel()
Constructs a new object of aggregate ASdaiModel
without aggregation type. |
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 it,
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 it,
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 |
addByIndex(int index,
SdaiModel value)
It is a specialization of addByIndex(int, Object, EDefined_type [])
method - the second parameter is of type SdaiModel
and the third parameter is dropped. |
void |
addSdaiListener(SdaiListener listener)
|
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.
|
void |
endAccess()
Terminates any access, either read-only or read-write, for each SdaiModel in this aggregate. |
void |
exportXml(java.io.OutputStream location,
InstanceReader instanceReader)
Writes this aggregate of SdaiModels in XML representation to specified stream.
|
AEntity |
findMappingInstances(jsdai.dictionary.EEntity_definition sourceEntity,
ASdaiModel dataDomain,
ASdaiModel mappingDomain,
jsdai.mapping.AEntity_mapping instanceMappings,
int mode)
Finds instances that are mappings of given source entity. |
AEntity |
findMappingInstances(jsdai.dictionary.EEntity_definition sourceEntity,
ASdaiModel dataDomain,
ASdaiModel mappingDomain,
int mode)
Finds instances that are mappings of given source entity. |
AEntity |
findMappingInstances(jsdai.mapping.EEntity_mapping entityMapping,
ASdaiModel dataDomain,
ASdaiModel mappingDomain,
jsdai.mapping.AEntity_mapping instanceMappings,
int mode)
Finds instances that are mappings of given source entity. |
AEntity |
findMappingInstances(jsdai.mapping.EEntity_mapping entityMapping,
ASdaiModel dataDomain,
ASdaiModel mappingDomain,
int mode)
Finds instances that are mappings of given entity mapping. |
jsdai.dictionary.EAggregation_type |
getAggregationType()
Returns the aggregation type for this Aggregate .
|
SdaiModel |
getByIndex(int index)
It is getByIndexObject method
with return value of type SdaiModel instead of Object . |
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 . |
SdaiModel |
getCurrentMember(SdaiIterator it)
It is getCurrentMemberObject method
with return value of type SdaiModel instead of Object . |
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 it)
Returns the value (of type Object ) of the member of this
Aggregate at the position specified by an iterator.
|
int |
getExactInstanceCount(java.lang.Class type)
Returns the number of instances of the specified entity data type contained in started SdaiModel s of
this ASdaiModel .
|
int |
getExactInstanceCount(jsdai.dictionary.EEntity_definition type)
Returns the number of instances of the specified entity data type contained in started SdaiModel s of
this ASdaiModel .
|
AEntity |
getExactInstances(java.lang.Class type)
Returns a read-only aggregate containing all instances of the specified entity data type collected going through all started SdaiModel s in this
ASdaiModel .
|
AEntity |
getExactInstances(jsdai.dictionary.EEntity_definition type)
Returns a read-only aggregate containing all instances of the specified entity data type collected going through all started SdaiModel s in this
ASdaiModel .
|
int |
getInstanceCount()
Returns the number of instances contained in started SdaiModel s of
this ASdaiModel .
|
int |
getInstanceCount(java.lang.Class type)
Returns the number of instances of the specified entity data type and of all its subtypes contained in started SdaiModel s of
this ASdaiModel .
|
int |
getInstanceCount(jsdai.dictionary.EEntity_definition type)
Returns the number of instances of the specified entity data type and of all its subtypes contained in started SdaiModel s of
this ASdaiModel .
|
AEntity |
getInstances()
Returns a read-only aggregate containing all instances of all started SdaiModel s in this ASdaiModel .
|
AEntity |
getInstances(java.lang.Class type)
Returns a read-only aggregate containing all instances of the specified entity data type and all instances of all its subtypes collected going through all started SdaiModel s in this
ASdaiModel .
|
AEntity |
getInstances(jsdai.dictionary.EEntity_definition type)
Returns a read-only aggregate containing all instances of the specified entity data type and all instances of all its subtypes collected going through all started SdaiModel s in this
ASdaiModel .
|
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 .
|
ASdaiModel |
getQuerySourceDomain()
Returns domain in which to perform a search. |
jsdai.query.SerializableRef |
getQuerySourceDomainRef()
|
jsdai.query.SerializableRef |
getQuerySourceInstanceRef()
|
AEntity |
getQuerySourceInstances()
Returns starting instances which serve as the first input instance set for a query. |
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 .
|
boolean |
isMember(SdaiModel value)
It is a specialization of isMember(Object, EDefined_type [])
method - the first parameter is of type SdaiModel and the
second parameter is dropped. |
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 |
removeSdaiListener(SdaiListener listener)
|
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 it,
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.
|
void |
startReadOnlyAccess()
Makes the contents of member SdaiModels available for
read-only access. |
void |
startReadWriteAccess()
Makes the contents of member SdaiModels available for
read-write access. |
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 it,
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. |
java.lang.String |
toString()
Returns a description of this ASdaiModel as a String .
|
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 class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface jsdai.lang.SdaiEventSource |
addSdaiListener, removeSdaiListener |
Constructor Detail |
public ASdaiModel()
ASdaiModel
without aggregation type. The aggregates of such kind are used
as non-persistent lists.
Aggregate.getAggregationType()
Method Detail |
public boolean isMember(SdaiModel value) throws SdaiException
isMember(Object, EDefined_type [])
method - the first parameter is of type SdaiModel
and the
second parameter is dropped.
SdaiException
public SdaiModel getByIndex(int index) throws SdaiException
getByIndexObject
method
with return value of type SdaiModel
instead of Object
.
SdaiException
public void setByIndex(int index, java.lang.Object value, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
Aggregate
;
in the latter case createAggregateByIndex
method shall be applied;
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.
SdaiException
- SY_ERR, underlying system error.Aggregate.setByIndex(int, int, EDefined_type[])
,
Aggregate.setByIndex(int, double, EDefined_type[])
,
Aggregate.setByIndex(int, boolean, EDefined_type[])
,
Aggregate.createAggregateByIndex(int, jsdai.dictionary.EDefined_type[])
,
"ISO 10303-22::10.16.1 Put by index"public void addByIndex(int index, java.lang.Object value, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
Aggregate
;
in the latter case addAggregateByIndex
method shall be applied;
index
- the list position for the new member.value
- the value to be added.select
- select path corresponding to the value submitted.
SdaiException
- VT_NVLD, value type invalid.Aggregate.addByIndex(int, int, EDefined_type[])
,
Aggregate.addByIndex(int, double, EDefined_type[])
,
Aggregate.addByIndex(int, boolean, EDefined_type[])
,
Aggregate.createAggregateByIndex(int, jsdai.dictionary.EDefined_type[])
,
"ISO 10303-22::10.19.3 Add by index"public void addByIndex(int index, SdaiModel value) throws SdaiException
addByIndex(int, Object, EDefined_type [])
method - the second parameter is of type SdaiModel
and the third parameter is dropped.
SdaiException
public void addUnordered(java.lang.Object value, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
Aggregate
; in the latter case
createAggregateUnordered
method shall be applied;
SdaiModel
.
value
- the value to be added.select
- select path corresponding to the value submitted.
SdaiException
- MX_NRW, SDAI-model access not read-write.Aggregate.addUnordered(int, EDefined_type[])
,
Aggregate.addUnordered(double, EDefined_type[])
,
Aggregate.addUnordered(boolean, EDefined_type[])
,
Aggregate.createAggregateUnordered(jsdai.dictionary.EDefined_type[])
,
"ISO 10303-22::10.14.1 Add unordered"public void setCurrentMember(SdaiIterator it, java.lang.Object value, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
Aggregate
;
in the latter case createAggregateAsCurrentMember
method shall be applied;
it
- 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.
SdaiException
- MX_NRW, SDAI-model access not read-write.Aggregate.setCurrentMember(SdaiIterator, int, EDefined_type[])
,
Aggregate.setCurrentMember(SdaiIterator, double, EDefined_type[])
,
Aggregate.setCurrentMember(SdaiIterator, boolean, EDefined_type[])
,
Aggregate.createAggregateAsCurrentMember(jsdai.lang.SdaiIterator, jsdai.dictionary.EDefined_type[])
,
"ISO 10303-22::10.13.2 Put current member"public void addBefore(SdaiIterator it, java.lang.Object value, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
Aggregate
;
in the latter case createAggregateBefore
method shall be applied;
it
- 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.
SdaiException
- SY_ERR, underlying system error.Aggregate.addBefore(SdaiIterator, int, EDefined_type[])
,
Aggregate.addBefore(SdaiIterator, double, EDefined_type[])
,
Aggregate.addBefore(SdaiIterator, boolean, EDefined_type[])
,
Aggregate.createAggregateBefore(jsdai.lang.SdaiIterator, jsdai.dictionary.EDefined_type[])
,
"ISO 10303-22::10.19.1 Add before current member"public void addAfter(SdaiIterator it, java.lang.Object value, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
Aggregate
;
in the latter case createAggregateAfter
method shall be applied;
it
- 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.
SdaiException
- AI_NEXS, aggregate instance does not exist.Aggregate.addAfter(SdaiIterator, int, EDefined_type[])
,
Aggregate.addAfter(SdaiIterator, double, EDefined_type[])
,
Aggregate.addAfter(SdaiIterator, boolean, EDefined_type[])
,
Aggregate.createAggregateAfter(jsdai.lang.SdaiIterator, jsdai.dictionary.EDefined_type[])
,
"ISO 10303-22::10.19.2 Add after current member"public AEntity getInstances() throws SdaiException
SdaiModel
s in this ASdaiModel
.
The models whose access is ended at the time of invocation
of this method are bypassed.
ASdaiModel
.
SdaiException
- SY_ERR, underlying system error.getInstances(EEntity_definition type)
,
getInstances(Class type)
public AEntity getInstances(jsdai.dictionary.EEntity_definition type) throws SdaiException
SdaiModel
s in this
ASdaiModel
.
If this entity type is not defined or declared in the
EXPRESS schema whose definition is underlying for a model, then
such a model is ignored.
The models whose access is ended at the time of invocation
of this method are also bypassed.
The aggregate can be cast to the aggregate specific
for the given entity type.
Passing null value to the method's
parameter results in SdaiException ED_NDEF.
Example:
ASdaiModel maggr = ...;
EEntity_definition cp_type = ...; // cartesian point
ACartesian_point aggr = (ACartesian_point)maggr.getInstances(cp_type);
type
- definition of the entity of which instances are required.
SdaiModel
s
in this ASdaiModel
.
SdaiException
- ED_NDEF, entity definition not defined.
SdaiException
- SY_ERR, underlying system error.getInstances(Class type)
,
SdaiModel.getInstances(EEntity_definition type)
,
getExactInstances(EEntity_definition type)
,
getExactInstances(Class type)
public AEntity getInstances(java.lang.Class type) throws SdaiException
SdaiModel
s in this
ASdaiModel
.
If this entity type (represented by the method's parameter) is not defined
or declared in the EXPRESS schema whose definition is underlying for a model,
then such a model is ignored.
The models whose access is ended at the time of invocation
of this method are also bypassed.
The aggregate can be cast to the aggregate specific
for the given entity type.
A parameter value submitted to the method shall be in the form EXxx.class,
where xxx is the name of the entity.
Passing null value to the method's
parameter results in SdaiException VA_NSET.
Example:
ASdaiModel maggr = ...;
ACartesian_point aggr = (ACartesian_point)maggr.getInstances(ECartesian_point.class);
type
- Java class for the entity of which instances are required.
SdaiModel
s
in this ASdaiModel
.
SdaiException
- VA_NSET, value not set.
SdaiException
- SY_ERR, underlying system error.getInstances(EEntity_definition type)
,
SdaiModel.getInstances(Class type)
,
getExactInstances(EEntity_definition type)
,
getExactInstances(Class type)
public AEntity getExactInstances(jsdai.dictionary.EEntity_definition type) throws SdaiException
SdaiModel
s in this
ASdaiModel
.
The instances of any subtype of the specified entity data type
are not included into this aggregate.
If the given entity type is not defined or declared in the
EXPRESS schema whose definition is underlying for a model, then
such a model is ignored.
The models whose access is ended at the time of invocation
of this method are also bypassed.
The aggregate can be cast to the aggregate specific
for the given entity type.
Passing null value to the method's
parameter results in SdaiException ED_NDEF.
Example:
ASdaiModel maggr = ...;
EEntity_definition cp_type = ...; // cartesian point
ACartesian_point aggr = (ACartesian_point)maggr.getExactInstances(cp_type);
type
- definition of the entity of which instances are required.
SdaiModel
s
in this ASdaiModel
.
SdaiException
- ED_NDEF, entity definition not defined.
SdaiException
- SY_ERR, underlying system error.getInstances(EEntity_definition type)
,
getInstances(Class type)
,
SdaiModel.getExactInstances(EEntity_definition type)
,
getExactInstances(Class type)
public AEntity getExactInstances(java.lang.Class type) throws SdaiException
SdaiModel
s in this
ASdaiModel
.
The instances of any subtype of the specified entity data type
are not included into this aggregate.
If the given entity type (represented by the method's parameter) is not defined
or declared in the EXPRESS schema whose definition is underlying for a model,
then such a model is ignored.
The models whose access is ended at the time of invocation
of this method are also bypassed.
The aggregate can be cast to the aggregate specific
for the given entity type.
A parameter value submitted to the method shall be in the form CXxx.class,
where xxx is the name of the entity.
Passing null value to the method's
parameter results in SdaiException VA_NSET.
Example:
ASdaiModel maggr = ...;
ACartesian_point aggr = (ACartesian_point)maggr.getExactInstances(CCartesian_point.class);
type
- Java class for the entity of which instances are required.
SdaiModel
s
in this ASdaiModel
.
SdaiException
- VA_NSET, value not set.
SdaiException
- SY_ERR, underlying system error.getInstances(EEntity_definition type)
,
getInstances(Class type)
,
SdaiModel.getExactInstances(Class type)
,
getExactInstances(EEntity_definition type)
public int getInstanceCount() throws SdaiException
SdaiModel
s of
this ASdaiModel
.
The models whose access is ended at the time of invocation
of this method are ignored.
SdaiException
SdaiModel.getInstanceCount()
,
getInstanceCount(EEntity_definition type)
,
getInstanceCount(Class type)
,
getExactInstanceCount(EEntity_definition type)
,
getExactInstanceCount(Class type)
public int getInstanceCount(jsdai.dictionary.EEntity_definition type) throws SdaiException
SdaiModel
s of
this ASdaiModel
.
If this entity type is not defined or declared in the
EXPRESS schema whose definition is underlying for a model, then
such a model is ignored.
The models whose access is ended at the time of invocation
of this method are also bypassed.
Passing null value to the method's
parameter results in SdaiException ED_NDEF.
type
- definition of the entity of which the instance count is required.
SdaiException
- ED_NDEF, entity definition not defined.getInstanceCount()
,
SdaiModel.getInstanceCount(EEntity_definition type)
,
getInstanceCount(Class type)
,
getExactInstanceCount(EEntity_definition type)
,
getExactInstanceCount(Class type)
public int getInstanceCount(java.lang.Class type) throws SdaiException
SdaiModel
s of
this ASdaiModel
.
If this entity type (represented by the method's parameter) is not defined
or declared in the EXPRESS schema whose definition is underlying for a model,
then such a model is ignored.
The models whose access is ended at the time of invocation
of this method are also bypassed.
A parameter value submitted to the method shall be in the form EXxx.class,
where xxx is the name of the entity.
Passing null value to the method's
parameter results in SdaiException VA_NSET.
type
- Java class for the entity of which the instance count is required.
SdaiException
- VA_NSET, value not set.getInstanceCount()
,
getInstanceCount(EEntity_definition type)
,
SdaiModel.getInstanceCount(Class type)
,
getExactInstanceCount(EEntity_definition type)
,
getExactInstanceCount(Class type)
public int getExactInstanceCount(jsdai.dictionary.EEntity_definition type) throws SdaiException
SdaiModel
s of
this ASdaiModel
.
If this entity type is not defined or declared in the
EXPRESS schema whose definition is underlying for a model, then
such a model is ignored. The models whose access is ended
at the time of invocation of this method are also bypassed.
The instances of any subtype of the specified entity type are not counted.
Passing null value to the method's
parameter results in SdaiException ED_NDEF.
type
- definition of the entity of which the instance count is required.
SdaiException
- ED_NDEF, entity definition not defined.getInstanceCount()
,
getInstanceCount(EEntity_definition type)
,
getInstanceCount(Class type)
,
SdaiModel.getExactInstanceCount(EEntity_definition type)
,
getExactInstanceCount(Class type)
public int getExactInstanceCount(java.lang.Class type) throws SdaiException
SdaiModel
s of
this ASdaiModel
.
If this entity type (represented by the method's parameter) is not defined
or declared in the EXPRESS schema whose definition is underlying for a model,
then such a model is ignored. The models whose access is ended
at the time of invocation of this method are also bypassed.
The instances of any subtype of the specified entity type are not counted.
A parameter value submitted to the method shall be in the form CXxx.class,
where xxx is the name of the entity.
Passing null value to the method's
parameter results in SdaiException VA_NSET.
type
- Java class for the entity of which the instance count is required.
SdaiException
- VA_NSET, value not set.getInstanceCount()
,
getInstanceCount(EEntity_definition type)
,
getInstanceCount(Class type)
,
getExactInstanceCount(EEntity_definition type)
,
SdaiModel.getExactInstanceCount(Class type)
public java.lang.String toString()
ASdaiModel
as a String
.
It includes constant string "SdaiModels: " and a list of the names
of all models contained in this aggregate.
Example:
ASdaiModel mod_aggr = ...;
System.out.println(mod_aggr);
The string printed will be like this:
SdaiModels: mod, model2, model3, mod_special
String
representing this ASdaiModel
.public int getMemberCount() throws SdaiException
Aggregate
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.
SdaiException
public SdaiModel getCurrentMember(SdaiIterator it) throws SdaiException
getCurrentMemberObject
method
with return value of type SdaiModel
instead of Object
.
SdaiException
public AEntity findMappingInstances(jsdai.dictionary.EEntity_definition sourceEntity, ASdaiModel dataDomain, ASdaiModel mappingDomain, int mode) throws SdaiException
Example:
ASdaiModel m = ...;
EEntity_definition sourceEntity = ...; // definition of source entity
AEntity instances = m.findMappingInstances(sourceEntity, targetDomain, mappingDomain, EEntity.NO_RESTRICTIONS);
This method is part of the mapping extensions of JSDAI.
sourceEntity
- this method searches instances that are mappings of this entitydataDomain
- an application domain where to search instances to satisfy mapping constraints.
It can be null; then this aggregate of models is used as data domain.mappingDomain
- a domain for mapping constraints and dictionary data.mode
- NO_RESTRICTIONS
- no restrictions,
MOST_SPECIFC_ENTITY
- returned mappings are restricted to most specific,
MANDATORY_ATTRIBUTES_SET
- in addition to MOST_SPECIFIC_ENTITY it also requires, that all explicit mandatory attributes are set.
If there is mapping of subtype entity then mapping of supertype entity is not included.
Entities that can not be instanciated are also not included.
SdaiException
findMappingInstances(EEntity_mapping, ASdaiModel, ASdaiModel, int)
,
SdaiModel.findMappingInstances(EEntity_definition, ASdaiModel, ASdaiModel, int)
,
EEntity.findEntityMappings(ASdaiModel, ASdaiModel, AEntity_mapping, int)
public AEntity findMappingInstances(jsdai.dictionary.EEntity_definition sourceEntity, ASdaiModel dataDomain, ASdaiModel mappingDomain, jsdai.mapping.AEntity_mapping instanceMappings, int mode) throws SdaiException
findMappingInstances(EEntity_definition, ASdaiModel, ASdaiModel, int)
and adds extra possibility to get most specific mappings of the instances.
This method is part of the mapping extensions of JSDAI.
sourceEntity
- this method searches instances that are mappings of this entitydataDomain
- the domain where to search instances to satisfy mapping constraints.
It can be null.mappingDomain
- the domain for mapping constraints and dictionary data.instanceMappings
- if not null should be an empty aggregate. The most specific entity
mappings are returned in this aggregate. The member indexes are synchronized with instance
aggregate which is returned from this method. If null then the method works as
findMappingInstances(EEntity_definition, ASdaiModel, ASdaiModel, int)
mode
- Should always be EEntity.NO_RESTRICTIONS
- no restrictions.
instanceMappings
is
not null then member indexes in both aggregates make pairs. Every pair
(instance, instanceMapping) is mentioned in both aggregates only once. If
instanceMappings
is null then every instance is mentioned
only once in this aggregate.
SdaiException
- if an error occurs during the operation
or in underlying JSDAI operationsfindMappingInstances(EEntity_definition, ASdaiModel, ASdaiModel, int)
,
SdaiModel.findMappingInstances(EEntity_definition, ASdaiModel, ASdaiModel, AEntity_mapping, int)
,
EEntity.findMostSpecificMappings(jsdai.lang.ASdaiModel, jsdai.lang.ASdaiModel, jsdai.mapping.AEntity_mapping, int)
public AEntity findMappingInstances(jsdai.mapping.EEntity_mapping entityMapping, ASdaiModel dataDomain, ASdaiModel mappingDomain, int mode) throws SdaiException
findMappingInstances(EEntity_definition, ASdaiModel, ASdaiModel, int)
, because it searches instances that meets requirements only for specified mapping.
Instances that satisfy mapping constraints must be in supplied aggregate of model, but other instances required by mapping constraints may be in other models within data domain.
Example:
ASdaiModel m = ...;
EEntity_mapping mapping = ...; // mapping of source entity
AEntity instances = m.findMappingInstances(sourceEntity, targetDomain, mappingDomain, EEntity.NO_RESTRICTIONS);
This method is part of the mapping extensions of JSDAI.
entityMapping
- this method searches instances that satisfies constraints for this entity mapping.dataDomain
- an application domain where to search instances to satisfy mapping constraints.
It can be null; then this aggregate of models is used as data domain.mappingDomain
- a domain for mapping constraints and dictionary data.mode
- NO_RESTRICTIONS
- no restrictions,
MOST_SPECIFC_ENTITY
- returned mappings are restricted to most specific,
MANDATORY_ATTRIBUTES_SET
- in addition to MOST_SPECIFIC_ENTITY it also requires, that all explicit mandatory attributes are set.
If there is mapping of subtype entity then mapping of supertype entity is not included.
Entities that can not be instantiated are also not included.
SdaiException
findMappingInstances(EEntity_definition, ASdaiModel, ASdaiModel, int)
,
SdaiModel.findMappingInstances(EEntity_mapping, ASdaiModel, ASdaiModel, int)
,
EEntity.findEntityMappings(ASdaiModel, ASdaiModel, AEntity_mapping, int)
,
JSDAI Mapping Extensionpublic AEntity findMappingInstances(jsdai.mapping.EEntity_mapping entityMapping, ASdaiModel dataDomain, ASdaiModel mappingDomain, jsdai.mapping.AEntity_mapping instanceMappings, int mode) throws SdaiException
findMappingInstances(EEntity_mapping, ASdaiModel, ASdaiModel, int)
and adds extra possibility to get most specific mappings of the instances.
This method is part of the mapping extensions of JSDAI.
entityMapping
- this method searches instances that satisfies constraints
for this entity mapping.dataDomain
- the domain where to search instances to satisfy mapping constraints.
It can be null.mappingDomain
- the domain for mapping constraints and dictionary data.instanceMappings
- if not null should be an empty aggregate. The most specific entity
mappings are returned in this aggregate. The member indexes are synchronized with instance
aggregate which is returned from this method. If null then the method works as
findMappingInstances(EEntity_definition, ASdaiModel, ASdaiModel, int)
mode
- Should always be EEntity.NO_RESTRICTIONS
- no restrictions.
instanceMappings
is
not null then member indexes in both aggregates make pairs. Every pair
(instance, instanceMapping) is mentioned in both aggregates only once. If
instanceMappings
is null then every instance is mentioned
only once in this aggregate.
SdaiException
- if an error occurs during the operation
or in underlying JSDAI operationsfindMappingInstances(EEntity_mapping, ASdaiModel, ASdaiModel, int)
,
SdaiModel.findMappingInstances(EEntity_mapping, ASdaiModel, ASdaiModel, AEntity_mapping, int)
,
EEntity.findMostSpecificMappings(jsdai.lang.ASdaiModel, jsdai.lang.ASdaiModel, jsdai.mapping.AEntity_mapping, int)
,
JSDAI Mapping Extensionpublic void exportXml(java.io.OutputStream location, InstanceReader instanceReader) throws SdaiException
SdaiModels
in XML representation to specified stream.
Output format is controlled by instanceReader
parameter.
location
- an OutputStream
to write XML toinstanceReader
- an InstanceReader
describing output format
SdaiException
- if an error occurs during the operation
or in underlying JSDAI operationsjsdai.xml.InstanceReader
,
jsdai.xml.LateBindingReader
public void startReadOnlyAccess() throws SdaiException
SdaiModels
available for
read-only access. Models in read-only or read-write mode prior to
invoking this method are skipped from the operation and remain in
their corresponding modes.
SdaiException
- TR_NEXS, transaction does not exist.
SdaiException
- TR_NAVL, transaction currently not available.
SdaiException
- TR_EAB, transaction ended abnormally.
SdaiException
- RP_NOPN, repository is not open.
SdaiException
- MO_NEXS, SDAI-model does not exist.
SdaiException
- MX_RO, SDAI-model access read-only.
SdaiException
- MX_RW, SDAI-model access read-write.
SdaiException
- MX_NDEF, SDAI-model access not defined.
SdaiException
- SY_ERR, underlying system error.SdaiModel.startReadOnlyAccess()
public void startReadWriteAccess() throws SdaiException
SdaiModels
available for
read-write access. Models in read-only mode prior to invoking this
method are promoted to read-write mode during the operation. Models
in read-write mode prior to invoking this method are skipped from
the operation and remain in read-write mode.
SdaiException
- TR_NEXS, transaction does not exist.
SdaiException
- TR_NAVL, transaction currently not available.
SdaiException
- TR_EAB, transaction ended abnormally.
SdaiException
- RP_NOPN, repository is not open.
SdaiException
- MO_NEXS, SDAI-model does not exist.
SdaiException
- MX_RO, SDAI-model access read-only.
SdaiException
- MX_RW, SDAI-model access read-write.
SdaiException
- MX_NDEF, SDAI-model access not defined.
SdaiException
- SY_ERR, underlying system error.SdaiModel.startReadWriteAccess()
public void endAccess() throws SdaiException
SdaiModel
in this aggregate. As a result, the contents of all
models becomes inaccessable. Each model of the aggregate is removed from
the set "active_models" of SdaiSession
.
If some entity instance within an SdaiModel
, which is being
processed by the current method, has been created, deleted or modified
since the most recent commit, abort or start transaction read-write access
operation was performed, then SdaiException TR_RW is thrown.
SdaiException
- TR_RW, transaction read-write.
SdaiException
- RP_NOPN, repository is not open.
SdaiException
- MO_NEXS, SDAI-model does not exist.
SdaiException
- MX_NDEF, SDAI-model access not defined.
SdaiException
- SY_ERR, underlying system error.startReadOnlyAccess()
,
startReadWriteAccess()
,
SdaiModel.endReadOnlyAccess()
,
SdaiModel.endReadWriteAccess()
public boolean isMember(java.lang.Object value, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
EEntity
though an
aggregate is known to contain elements of only such type;
for example, such aggregates are produced by getInstances methods in
class SdaiModel
;
SdaiException
VA_NVLD
is thrown.
isMember
in interface Aggregate
value
- the value to be checked for inclusion.select
- select path corresponding to the value submitted.
true
if the specified value is a member of this
aggregate, false
otherwise.
SdaiException
- SY_ERR, underlying system error.Aggregate.isMember(int, EDefined_type[])
,
Aggregate.isMember(double, EDefined_type[])
,
Aggregate.isMember(boolean, EDefined_type[])
,
"ISO 10303-22::10.12.2 Is member"public boolean isMember(int value, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
isMember
in interface Aggregate
value
- the value to be checked for inclusion.select
- select path corresponding to the value submitted.
true
if the specified value is a member of this
aggregate, false
otherwise.
SdaiException
- EI_NEXS, entity instance does not exist.Aggregate.isMember(Object, EDefined_type[])
,
Aggregate.isMember(double, EDefined_type[])
,
Aggregate.isMember(boolean, EDefined_type[])
,
"ISO 10303-22::10.12.2 Is member"public boolean isMember(double value, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
isMember
in interface Aggregate
value
- the value to be checked for inclusion.select
- select path corresponding to the value submitted.
true
if the specified value is a member of this
aggregate, false
otherwise.
SdaiException
- SY_ERR, underlying system error.Aggregate.isMember(Object, EDefined_type[])
,
Aggregate.isMember(int, EDefined_type[])
,
Aggregate.isMember(boolean, EDefined_type[])
,
"ISO 10303-22::10.12.2 Is member"public boolean isMember(boolean value, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
isMember
in interface Aggregate
value
- the value to be checked for inclusion.select
- select path corresponding to the value submitted.
true
if the specified value is a member of this
aggregate, false
otherwise.
SdaiException
- VA_NVLD, value invalid.Aggregate.isMember(Object, EDefined_type[])
,
Aggregate.isMember(int, EDefined_type[])
,
Aggregate.isMember(double, EDefined_type[])
,
"ISO 10303-22::10.12.2 Is member"public SdaiIterator createIterator() throws SdaiException
Aggregate
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.
createIterator
in interface Aggregate
Aggregate
.
SdaiException
- MX_NDEF, SdaiModel access not defined.SdaiIterator.beginning()
,
Aggregate.attachIterator(jsdai.lang.SdaiIterator)
,
"ISO 10303-22::10.12.3 Create iterator"public void attachIterator(SdaiIterator iter) throws SdaiException
Aggregate
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.
attachIterator
in interface Aggregate
iter
- the iterator to be attached to this Aggregate
.
SdaiException
- TR_NAVL, transaction currently not available.Aggregate.createIterator()
,
"ISO 10303-22::10.12.3 Create iterator"public int getLowerBound() throws SdaiException
Aggregate
Aggregate
.
This method is not implemented in current JSDAI version.
SdaiException
EX_NSUP will be thrown if this method is invoked.
getLowerBound
in interface Aggregate
SdaiException
- EX_NSUP, expression evaluation not supported.public int getUpperBound() throws SdaiException
Aggregate
Aggregate
.
This method is not implemented in current JSDAI version.
SdaiException
EX_NSUP will be thrown if this method is invoked.
getUpperBound
in interface Aggregate
SdaiException
- EX_NSUP, expression evaluation not supported.public int query(java.lang.String where, EEntity entity, AEntity result) throws SdaiException
Aggregate
SdaiException FN_NAVL will be thrown if this method is invoked.
query
in interface Aggregate
SdaiException
- FN_NAVL, function not available.public ASdaiModel getQuerySourceDomain() throws SdaiException
QuerySource
getQuerySourceDomain
in interface QuerySource
SdaiException
- if an error occurs during the operation
or in underlying JSDAI operationspublic AEntity getQuerySourceInstances() throws SdaiException
QuerySource
getQuerySourceInstances
in interface QuerySource
AEntity
containing the instances or null
this aggregate consists all instances in query source domain
SdaiException
- if an error occurs during the operation
or in underlying JSDAI operationspublic jsdai.query.SerializableRef getQuerySourceInstanceRef() throws SdaiException
getQuerySourceInstanceRef
in interface QuerySource
SdaiException
public jsdai.query.SerializableRef getQuerySourceDomainRef() throws SdaiException
getQuerySourceDomainRef
in interface QuerySource
SdaiException
public java.lang.Object getByIndexObject(int index) throws SdaiException
Aggregate
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.
getByIndexObject
in interface Aggregate
index
- the index or position from which the value is asked.
Aggregate
.
SdaiException
- AI_NVLD, aggregate instance invalid.Aggregate.getByIndexInt(int)
,
Aggregate.getByIndexDouble(int)
,
Aggregate.getByIndexBoolean(int)
,
"ISO 10303-22::10.15.1 Get by index"public int getByIndexInt(int index) throws SdaiException
Aggregate
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
.
getByIndexInt
in interface Aggregate
index
- the index or position from which the value is asked.
Aggregate
.
SdaiException
- SY_ERR, underlying system error.Aggregate.getByIndexObject(int)
,
Aggregate.getByIndexDouble(int)
,
Aggregate.getByIndexBoolean(int)
,
"ISO 10303-22::10.15.1 Get by index"public double getByIndexDouble(int index) throws SdaiException
Aggregate
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
.
getByIndexDouble
in interface Aggregate
index
- the index or position from which the value is asked.
Aggregate
.
SdaiException
- FN_NAVL, function not available.Aggregate.getByIndexObject(int)
,
Aggregate.getByIndexInt(int)
,
Aggregate.getByIndexBoolean(int)
,
"ISO 10303-22::10.15.1 Get by index"public boolean getByIndexBoolean(int index) throws SdaiException
Aggregate
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
.
getByIndexBoolean
in interface Aggregate
index
- the index or position from which the value is asked.
Aggregate
.
SdaiException
- VA_NVLD, value invalid.Aggregate.getByIndexObject(int)
,
Aggregate.getByIndexInt(int)
,
Aggregate.getByIndexDouble(int)
,
"ISO 10303-22::10.15.1 Get by index"public int getValueBoundByIndex(int index) throws SdaiException
Aggregate
SdaiException EX_NSUP will be thrown if this method is invoked.
getValueBoundByIndex
in interface Aggregate
index
- the index position of the aggregate element for which
the value bound is to be returned.
SdaiException
- EX_NSUP, expression evaluation not supported.public void setByIndex(int index, int value, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
setByIndex
in interface Aggregate
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.
SdaiException
- VT_NVLD, value type invalid.Aggregate.setByIndex(int, Object, EDefined_type[])
,
Aggregate.setByIndex(int, double, EDefined_type[])
,
Aggregate.setByIndex(int, boolean, EDefined_type[])
,
"ISO 10303-22::10.16.1 Put by index"public void setByIndex(int index, double value, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
setByIndex
in interface Aggregate
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.
SdaiException
- AI_NEXS, aggregate instance does not exist.Aggregate.setByIndex(int, Object, EDefined_type[])
,
Aggregate.setByIndex(int, int, EDefined_type[])
,
Aggregate.setByIndex(int, boolean, EDefined_type[])
,
"ISO 10303-22::10.16.1 Put by index"public void setByIndex(int index, boolean value, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
setByIndex
in interface Aggregate
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.
SdaiException
- EI_NEXS, entity instance does not exist.Aggregate.setByIndex(int, Object, EDefined_type[])
,
Aggregate.setByIndex(int, int, EDefined_type[])
,
Aggregate.setByIndex(int, double, EDefined_type[])
,
"ISO 10303-22::10.16.1 Put by index"public Aggregate createAggregateByIndex(int index, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
createAggregateByIndex
in interface Aggregate
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.
SdaiException
- TR_NAVL, transaction currently not available.public int testByIndex(int index, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
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.
testByIndex
in interface Aggregate
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.
SdaiException
- MX_NDEF, SdaiModel access not defined.Aggregate.testByIndex(int)
,
"ISO 10303-22::10.17.1 Test by index"public int testByIndex(int index) throws SdaiException
Aggregate
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:
If the type of the aggregate elements is select type, then SdaiException AI_NVLD is thrown.
testByIndex
in interface Aggregate
index
- the index or position for the member whose value is to be tested.
SdaiException
- TR_NAVL, transaction currently not available.Aggregate.testByIndex(int, EDefined_type [])
,
"ISO 10303-22::10.17.1 Test by index"public int getLowerIndex() throws SdaiException
Aggregate
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.
getLowerIndex
in interface Aggregate
SdaiException
- FN_NAVL, function not available.public int getUpperIndex() throws SdaiException
Aggregate
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.
getUpperIndex
in interface Aggregate
SdaiException
- FN_NAVL, function not available.public void unsetValueByIndex(int index) throws SdaiException
Aggregate
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.
unsetValueByIndex
in interface Aggregate
index
- the array index of the member to be unset.
SdaiException
- IX_NVLD, index invalid.public void reindexArray() throws SdaiException
Aggregate
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.
reindexArray
in interface Aggregate
SdaiException
- EX_NSUP, expression evaluation not supported.public void resetArrayIndex(int lower, int upper) throws SdaiException
Aggregate
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.
resetArrayIndex
in interface Aggregate
lower
- the new lower index value.upper
- the new upper index value.
SdaiException
- FN_NAVL, function not available.public void addByIndex(int index, int value, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
addByIndex
in interface Aggregate
index
- the list position for the new member.value
- the value to be added.select
- select path corresponding to the value submitted.
SdaiException
- VA_NSET, value not set.Aggregate.addByIndex(int, Object, EDefined_type[])
,
Aggregate.addByIndex(int, double, EDefined_type[])
,
Aggregate.addByIndex(int, boolean, EDefined_type[])
,
"ISO 10303-22::10.19.3 Add by index"public void addByIndex(int index, double value, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
addByIndex
in interface Aggregate
index
- the list position for the new member.value
- the value to be added.select
- select path corresponding to the value submitted.
SdaiException
- AI_NEXS, aggregate instance does not exist.Aggregate.addByIndex(int, Object, EDefined_type[])
,
Aggregate.addByIndex(int, int, EDefined_type[])
,
Aggregate.addByIndex(int, boolean, EDefined_type[])
,
"ISO 10303-22::10.19.3 Add by index"public void addByIndex(int index, boolean value, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
addByIndex
in interface Aggregate
index
- the list position for the new member.value
- the value to be added.select
- select path corresponding to the value submitted.
SdaiException
- FN_NAVL, function not available.Aggregate.addByIndex(int, Object, EDefined_type[])
,
Aggregate.addByIndex(int, int, EDefined_type[])
,
Aggregate.addByIndex(int, double, EDefined_type[])
,
"ISO 10303-22::10.19.3 Add by index"public Aggregate addAggregateByIndex(int index, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
addAggregateByIndex
in interface Aggregate
index
- the list position for the aggregate created.select
- select path identifying the type of the aggregate to be created.
SdaiException
- EI_NEXS, entity instance does not exist.public void removeByIndex(int index) throws SdaiException
Aggregate
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.
removeByIndex
in interface Aggregate
index
- the list position of the member to be removed.
SdaiException
- AI_NEXS, aggregate instance does not exist.public void addUnordered(int value, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
addUnordered
in interface Aggregate
value
- the value to be added.select
- select path corresponding to the value submitted.
SdaiException
- SY_ERR, underlying system error.Aggregate.addUnordered(Object, EDefined_type[])
,
Aggregate.addUnordered(double, EDefined_type[])
,
Aggregate.addUnordered(boolean, EDefined_type[])
,
"ISO 10303-22::10.14.1 Add unordered"public void addUnordered(double value, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
addUnordered
in interface Aggregate
value
- the value to be added.select
- select path corresponding to the value submitted.
SdaiException
- FN_NAVL, function not available.Aggregate.addUnordered(Object, EDefined_type[])
,
Aggregate.addUnordered(int, EDefined_type[])
,
Aggregate.addUnordered(boolean, EDefined_type[])
,
"ISO 10303-22::10.14.1 Add unordered"public void addUnordered(boolean value, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
addUnordered
in interface Aggregate
value
- the value to be added.select
- select path corresponding to the value submitted.
SdaiException
- MX_NRW, SDAI-model access not read-write.Aggregate.addUnordered(Object, EDefined_type[])
,
Aggregate.addUnordered(int, EDefined_type[])
,
Aggregate.addUnordered(double, EDefined_type[])
,
"ISO 10303-22::10.14.1 Add unordered"public Aggregate createAggregateUnordered(jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
createAggregateUnordered
in interface Aggregate
select
- select path identifying the type of the aggregate to be created.
SdaiException
- VT_NVLD, value type invalid.public void removeUnordered(java.lang.Object value, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
SdaiModel
.
removeUnordered
in interface Aggregate
value
- the value to be removed.select
- select path corresponding to the value submitted for removal.
SdaiException
- VA_NVLD, value invalid.Aggregate.removeUnordered(int, EDefined_type[])
,
Aggregate.removeUnordered(double, EDefined_type[])
,
Aggregate.removeUnordered(boolean, EDefined_type[])
,
"ISO 10303-22::10.14.3 Remove unordered"public void removeUnordered(int value, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
removeUnordered
in interface Aggregate
value
- the value to be removed.select
- select path corresponding to the value submitted for removal.
SdaiException
- VT_NVLD, value type invalid.Aggregate.removeUnordered(Object, EDefined_type[])
,
Aggregate.removeUnordered(double, EDefined_type[])
,
Aggregate.removeUnordered(boolean, EDefined_type[])
,
"ISO 10303-22::10.14.3 Remove unordered"public void removeUnordered(double value, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
removeUnordered
in interface Aggregate
value
- the value to be removed.select
- select path corresponding to the value submitted for removal.
SdaiException
- VA_NSET, value not set.Aggregate.removeUnordered(Object, EDefined_type[])
,
Aggregate.removeUnordered(int, EDefined_type[])
,
Aggregate.removeUnordered(boolean, EDefined_type[])
,
"ISO 10303-22::10.14.3 Remove unordered"public void removeUnordered(boolean value, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
removeUnordered
in interface Aggregate
value
- the value to be removed.select
- select path corresponding to the value submitted for removal.
SdaiException
- VA_NEXS, value does not exist.Aggregate.removeUnordered(Object, EDefined_type[])
,
Aggregate.removeUnordered(int, EDefined_type[])
,
Aggregate.removeUnordered(double, EDefined_type[])
,
"ISO 10303-22::10.14.3 Remove unordered"public int testCurrentMember(SdaiIterator it, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
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.
testCurrentMember
in interface Aggregate
it
- 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.
SdaiException
- EI_NEXS, entity instance does not exist.Aggregate.testCurrentMember(SdaiIterator)
,
"ISO 10303-22::10.17.2 Test current member"public int testCurrentMember(SdaiIterator iter) throws SdaiException
Aggregate
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:
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.
testCurrentMember
in interface Aggregate
iter
- the iterator specifying the aggregate member to be tested.
SdaiException
- SY_ERR, underlying system error.Aggregate.testCurrentMember(SdaiIterator, EDefined_type [])
,
"ISO 10303-22::10.17.2 Test current member"public java.lang.Object getCurrentMemberObject(SdaiIterator it) throws SdaiException
Aggregate
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.
getCurrentMemberObject
in interface Aggregate
it
- the iterator specifying the aggregate member to return.
SdaiException
- AI_NEXS, aggregate instance does not exist.Aggregate.getCurrentMemberInt(jsdai.lang.SdaiIterator)
,
Aggregate.getCurrentMemberDouble(jsdai.lang.SdaiIterator)
,
Aggregate.getCurrentMemberBoolean(jsdai.lang.SdaiIterator)
,
"ISO 10303-22::10.12.7 Get current member"public int getCurrentMemberInt(SdaiIterator iter) throws SdaiException
Aggregate
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.
getCurrentMemberInt
in interface Aggregate
iter
- the iterator specifying the aggregate member to return.
SdaiException
- MX_NDEF, SdaiModel access not defined.Aggregate.getCurrentMemberObject(jsdai.lang.SdaiIterator)
,
Aggregate.getCurrentMemberDouble(jsdai.lang.SdaiIterator)
,
Aggregate.getCurrentMemberBoolean(jsdai.lang.SdaiIterator)
,
"ISO 10303-22::10.12.7 Get current member"public double getCurrentMemberDouble(SdaiIterator iter) throws SdaiException
Aggregate
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.
getCurrentMemberDouble
in interface Aggregate
iter
- the iterator specifying the aggregate member to return.
SdaiException
- AI_NVLD, aggregate instance invalid.Aggregate.getCurrentMemberObject(jsdai.lang.SdaiIterator)
,
Aggregate.getCurrentMemberInt(jsdai.lang.SdaiIterator)
,
Aggregate.getCurrentMemberBoolean(jsdai.lang.SdaiIterator)
,
"ISO 10303-22::10.12.7 Get current member"public boolean getCurrentMemberBoolean(SdaiIterator iter) throws SdaiException
Aggregate
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.
getCurrentMemberBoolean
in interface Aggregate
iter
- the iterator specifying the aggregate member to return.
SdaiException
- TR_EAB, transaction ended abnormally.Aggregate.getCurrentMemberObject(jsdai.lang.SdaiIterator)
,
Aggregate.getCurrentMemberInt(jsdai.lang.SdaiIterator)
,
Aggregate.getCurrentMemberDouble(jsdai.lang.SdaiIterator)
,
"ISO 10303-22::10.12.7 Get current member"public Aggregate createAggregateAsCurrentMember(SdaiIterator iter, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
createAggregateAsCurrentMember
in interface Aggregate
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.
SdaiException
- IR_NEXS, iterator does not exist.public void setCurrentMember(SdaiIterator iter, int value, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
setCurrentMember
in interface Aggregate
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.
SdaiException
- EI_NEXS, entity instance does not exist.Aggregate.setCurrentMember(SdaiIterator, Object, EDefined_type[])
,
Aggregate.setCurrentMember(SdaiIterator, double, EDefined_type[])
,
Aggregate.setCurrentMember(SdaiIterator, boolean, EDefined_type[])
,
"ISO 10303-22::10.13.2 Put current member"public void setCurrentMember(SdaiIterator iter, double value, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
setCurrentMember
in interface Aggregate
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.
SdaiException
- IR_NEXS, iterator does not exist.Aggregate.setCurrentMember(SdaiIterator, Object, EDefined_type[])
,
Aggregate.setCurrentMember(SdaiIterator, int, EDefined_type[])
,
Aggregate.setCurrentMember(SdaiIterator, boolean, EDefined_type[])
,
"ISO 10303-22::10.13.2 Put current member"public void setCurrentMember(SdaiIterator iter, boolean value, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
setCurrentMember
in interface Aggregate
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.
SdaiException
- VA_NVLD, value invalid.Aggregate.setCurrentMember(SdaiIterator, Object, EDefined_type[])
,
Aggregate.setCurrentMember(SdaiIterator, int, EDefined_type[])
,
Aggregate.setCurrentMember(SdaiIterator, double, EDefined_type[])
,
"ISO 10303-22::10.13.2 Put current member"public void addBefore(SdaiIterator iter, int value, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
addBefore
in interface Aggregate
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.
SdaiException
- VA_NVLD, value invalid.Aggregate.addBefore(SdaiIterator, Object, EDefined_type[])
,
Aggregate.addBefore(SdaiIterator, double, EDefined_type[])
,
Aggregate.addBefore(SdaiIterator, boolean, EDefined_type[])
,
"ISO 10303-22::10.19.1 Add before current member"public void addBefore(SdaiIterator iter, double value, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
addBefore
in interface Aggregate
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.
SdaiException
- TR_EAB, transaction ended abnormally.Aggregate.addBefore(SdaiIterator, Object, EDefined_type[])
,
Aggregate.addBefore(SdaiIterator, int, EDefined_type[])
,
Aggregate.addBefore(SdaiIterator, boolean, EDefined_type[])
,
"ISO 10303-22::10.19.1 Add before current member"public void addBefore(SdaiIterator iter, boolean value, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
addBefore
in interface Aggregate
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.
SdaiException
- FN_NAVL, function not available.Aggregate.addBefore(SdaiIterator, Object, EDefined_type[])
,
Aggregate.addBefore(SdaiIterator, int, EDefined_type[])
,
Aggregate.addBefore(SdaiIterator, double, EDefined_type[])
,
"ISO 10303-22::10.19.1 Add before current member"public void addAfter(SdaiIterator iter, int value, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
addAfter
in interface Aggregate
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.
SdaiException
- VA_NVLD, value invalid.Aggregate.addAfter(SdaiIterator, Object, EDefined_type[])
,
Aggregate.addAfter(SdaiIterator, double, EDefined_type[])
,
Aggregate.addAfter(SdaiIterator, boolean, EDefined_type[])
,
"ISO 10303-22::10.19.2 Add after current member"public void addAfter(SdaiIterator iter, double value, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
addAfter
in interface Aggregate
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.
SdaiException
- EI_NEXS, entity instance does not exist.Aggregate.addAfter(SdaiIterator, Object, EDefined_type[])
,
Aggregate.addAfter(SdaiIterator, int, EDefined_type[])
,
Aggregate.addAfter(SdaiIterator, boolean, EDefined_type[])
,
"ISO 10303-22::10.19.2 Add after current member"public void addAfter(SdaiIterator iter, boolean value, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
addAfter
in interface Aggregate
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.
SdaiException
- EI_NEXS, entity instance does not exist.Aggregate.addAfter(SdaiIterator, Object, EDefined_type[])
,
Aggregate.addAfter(SdaiIterator, int, EDefined_type[])
,
Aggregate.addAfter(SdaiIterator, double, EDefined_type[])
,
"ISO 10303-22::10.19.2 Add after current member"public Aggregate createAggregateBefore(SdaiIterator iter, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
createAggregateBefore
in interface Aggregate
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.
SdaiException
- AI_NVLD, aggregate instance invalid.Aggregate.createAggregateAfter(jsdai.lang.SdaiIterator, jsdai.dictionary.EDefined_type[])
,
"ISO 10303-22::10.19.4 Create aggregate instance before current member"public Aggregate createAggregateAfter(SdaiIterator iter, jsdai.dictionary.EDefined_type[] select) throws SdaiException
Aggregate
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:
createAggregateAfter
in interface Aggregate
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.
SdaiException
- EI_NEXS, entity instance does not exist.Aggregate.createAggregateBefore(jsdai.lang.SdaiIterator, jsdai.dictionary.EDefined_type[])
,
"ISO 10303-22::10.19.5 Create aggregate instance after current member"public void clear() throws SdaiException
Aggregate
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.
clear
in interface Aggregate
SdaiException
- AI_NEXS, aggregate instance does not exist.public jsdai.dictionary.EAggregation_type getAggregationType() throws SdaiException
Aggregate
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.
getAggregationType
in interface Aggregate
Aggregate
is based on.
SdaiException
public void addSdaiListener(SdaiListener listener)
addSdaiListener
in interface SdaiEventSource
public void removeSdaiListener(SdaiListener listener)
removeSdaiListener
in interface SdaiEventSource
|
Copyright © LKSoftWare GmbH, 1999-2008 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |