|
| IlsUsesSet (UserType &user, IlsRelationId identifier=IlsDefaultRelationId, IlsActivity activity=IlsModel::GetDefaultActivity(), IlsCardinality mincard=0, IlsCardinality maxcard=ILS_UNLIMITED_MAXCARD, Initial &targets=(*new Initial()), IlsBoolean check_card=IlsTrue) |
| Constructor. More...
|
|
virtual | ~IlsUsesSet () |
| This destructor breaks all the relations in the set.
|
|
Myself & | clear () |
|
virtual void | cut (Partial &, ILS_CUT_DIRECTIVE d=ILS_ALL) |
|
UsedTypeP | get (CKeyTypeR identifier) |
|
IlsActivity | getActivity () const |
|
UsedType ** | getAdded (int &) |
| During a notification phase, this member function returns an array of pointers to the elements that have been added to the set since the last notification phase. More...
|
|
unsigned int | getCount () |
| Returns the number of objects in the set at a given time.
|
|
virtual IlsViewed * | getIdentifiedElement (const IlsString &id) const |
| This virtual member function is used to retrieve an identified object from the relation. More...
|
|
UsedType ** | getRemoved (int &) |
| During a notification phase, this member function returns an array of pointers to the elements that have been removed from the set since the last notification phase. More...
|
|
UserType & | getUser () const |
|
virtual IlsBoolean | hasElement (IlsViewed &) const |
| This virtual member function returns IlsTrue if the element is a target of the relation or IlsFalse otherwise.
|
|
IlsBoolean | isIn (CKeyTypeR identifier) |
| Indicates whether the set contains the object associated with the key specified.
|
|
Myself & | operator<< (CUsedTypePR v) |
|
Myself & | operator>> (CUsedTypePR v) |
|
UsedTypeP | operator[] (CKeyTypeR identifier) |
| This operation is identical to the member function get() .
|
|
Myself & | put (CUsedTypePR) |
|
Myself & | suppress (CKeyTypeR identifier, ILS_CUT_DIRECTIVE=ILS_ALL) |
|
IlsActivity | getActivity () const |
|
unsigned int | getCount () const |
| Returns the number of objects in the set at a given time.
|
|
IlsRelationId | getIdentifier () const |
| Returns the relation identifier.
|
|
IlsCardinality | getMaxCard () const |
| Returns the maximal cardinality specified for the set.
|
|
IlsCardinality | getMinCard () const |
| Returns the minimal cardinality specified for the set.
|
|
IlsBoolean | isCountModified () |
|
IlsBoolean | isModified () |
| Indicates whether the set has been modified.
|
|
template<class UserType, class UsedType, class KeyType, class KeyManager>
class IlsUsesSet< UserType, UsedType, KeyType, KeyManager >
Set of uses relations.
- Template Parameters
-
UserType | Class that contains the relation, |
UsedType | Class of the targets of the relation. |
KeyType | The type of the key used to store objects in a set and retrieve objects from a set. |
KeyManager | A class that specifies how to handle keys. |
Library: server
Rogue Wave Server lets you declare use relations among object classes. Use relations are relations in which one particular object can be used by any number of other objects. The user object can also use one or more other objects. One-to-many relations can be defined as list-relations or as set-relations. Unlike list-relations, target objects in set-relations are not listed in sequential order but are grouped together in a non-ordered set and are directly accessible using a key. Such relations are declared within the user class as instances of the class template IlsUsesSet
.
- See also
IlsEntity
, IlsHashKeyManager
, IlsObject
, IlsOwnsSet
, IlsUsesList
, IlsUsesSet::Iterator
.
template<class UserType , class UsedType , class KeyType , class KeyManager >
\short Returns the object associated with the key
specified; otherwise, it returns 0.
template<class UserType , class UsedType , class KeyType , class KeyManager >
\short Returns \c ILS_ACTIVE if the relation has
been set as active. Otherwise, it returns \c ILS_INACTIVE.
For details, see the constructor.
template<class UserType , class UsedType , class KeyType , class KeyManager >
UsedType** IlsUsesSet< UserType, UsedType, KeyType, KeyManager >::getAdded |
( |
int & |
| ) |
|
During a notification phase, this member function returns an array of pointers to the elements that have been added to the set since the last notification phase.
It returns an empty array if no object has been added to the
set-relation.
The argument accepts the size of the array as a return value.
You must explicitly destroy this array when you no longer need it. To do so, use delete
with square brackets
[].
template<class UserType , class UsedType , class KeyType , class KeyManager >
This virtual member function is used to retrieve an identified object from the relation.
The member function IlsViewed::getKeyIdentifier()
is used to retrieve the identifier of the relation element.
- Note
- On all subclasses of this class, the complexity of this method is always linear, in terms of the number of elements in the relation, even for set relations.
Reimplemented from IlsViewedRel.
template<class UserType , class UsedType , class KeyType , class KeyManager >
UsedType** IlsUsesSet< UserType, UsedType, KeyType, KeyManager >::getRemoved |
( |
int & |
| ) |
|
During a notification phase, this member function returns an array of pointers to the elements that have been removed from the set since the last notification phase.
It returns an empty array if no object has been removed from the set-relation. The argument accepts the size of the array as a return value.
You must explicitly destroy this array when you no longer need it. To do so, use delete
with square brackets
[].
template<class UserType , class UsedType , class KeyType , class KeyManager >
UserType& IlsUsesSet< UserType, UsedType, KeyType, KeyManager >::getUser |
( |
| ) |
const |
\short Returns a reference to the user object.
It is useful especially in the case of derived relations.
template<class UserType , class UsedType , class KeyType , class KeyManager >
\short Removes an object from the set.
\short Removes the object associated with the key
specified according to the cut instruction specified.
- Exceptions
-
IlsUpdateForbidden | If the member function isUpdatedAllowed() returns IlsFalse for the type in which the relation is declared. |
IlsMinCardViolated | If the minimal cardinality has been reached. |
IlsNotFound | If no object is associated with the key specified. |