Server
API Reference Guide
Product Documentation:

Rogue Wave Server
Documentation Home
Classes | Typedefs | Enumerations | Functions | Variables
Modeling API

This set of classes is used to define the server side object model. More...

Category Description

This set of classes is used to define the server side object model.

Classes

class  IlsInvertedRelationList< TargetType, OriginType >::ConstIterator
 Const iterator. More...
 
class  IlsDerived< HolderType, DerivedType, Evaluator >
 Data member whose value depends on other data. More...
 
class  IlsDictionary< ValueType >
 Class for storing objects of a given type with an identifier. More...
 
class  IlsEntity
 The class IlsEntity is a base class for classes declaring server data members: derived data members, entry data members, and relations. More...
 
class  IlsEntry< EntryType >
 Class for notifiable data members. More...
 
class  IlsHashKeyManager
 This class is used with set-relations. More...
 
class  IlsInvertedRelation< TargetType, OriginType >
 Rogue Wave Server lets you invert a relation by maintaining a back pointer to the origin of that relation. More...
 
class  IlsInvertedRelationList< TargetType, OriginType >
 Inverted relation list. More...
 
class  IlsLockableEntity
 API FOR ADVANCED USERS – This class is used with multithreaded applications. It lets you lock an entity once within a thread. More...
 
class  IlsLockableObject
 API FOR ADVANCED USERS – This class is used with multithreaded applications. It lets you lock an object once within a thread. More...
 
class  IlsModel
 This class lets you check the integrity of an object structure and set write access to objects. More...
 
class  IlsObject
 The class IlsObject is a base class for all classes declaring server data members: derived data members, entries, and relations. More...
 
class  IlsOwns< OwnerType, OwnedType >
 One-to-one ownership relation. More...
 
class  IlsOwnsDynamicArray< OwnerType, OwnedType >
 Dynamic arrays of ownership relations. More...
 
class  IlsOwnsFixedArray< OwnerType, OwnedType, size >
 Fixed arrays of ownership relations. More...
 
class  IlsOwnsList< OwnerType, OwnedType >
 One-to-many ownership relation organized as list. More...
 
class  IlsOwnsSet< OwnerType, OwnedType, KeyType, KeyManager >
 Non-ordered one-to-many ownership relation. More...
 
class  IlsSafelyLockableEntity
 API FOR ADVANCED USERS – This class is used with multithreaded applications. It lets you lock an entity several times in the same thread. More...
 
class  IlsSafelyLockableObject
 API FOR ADVANCED USERS – This class is used with multithreaded applications. It lets you lock an object several times in the same thread. More...
 
class  IlsSetContext< KeyType >
 This template class is the base class for set-relations. More...
 
class  IlsSetContextList< KeyType >
 This class template is used to maintain the integrity of set-relations in which an object whose key is to be modified is involved. More...
 
class  IlsSortedInvertedRelationList< TargetType, OriginType, Comparator >
 Sorted inverted relation list. More...
 
class  IlsSortedOwnsList< OwnerType, OwnedType, Comparator >
 Sorted owns list. More...
 
class  IlsSortedUsesList< UserType, UsedType, Comparator >
 Sorted uses list. More...
 
class  IlsTransaction
 API FOR ADVANCED USERS – The class IlsTransaction performs a series of updates that can all be undone by a rollback() operation, or all be validated by a commit() operation. More...
 
class  IlsUses< UserType, UsedType >
 One-to-one uses relation. More...
 
class  IlsUsesDynamicArray< UserType, UsedType >
 Dynamic array of uses relations. More...
 
class  IlsUsesFixedArray< UserType, UsedType, size >
 Fixed array of uses relations. More...
 
class  IlsUsesList< UserType, UsedType >
 List of uses relations. More...
 
class  IlsUsesSet< UserType, UsedType, KeyType, KeyManager >
 Set of uses relations. More...
 
class  IlsViewed
 This class is the parent class of IlsEntity and IlsObject and, as such, the base class for any type of server object. More...
 
class  IlsViewedRel
 This class is the parent class for all classes that declare relations. More...
 
class  IlsDictionary< ValueType >::Iterator
 IlsDictionary iterator. More...
 
class  IlsInvertedRelationList< TargetType, OriginType >::Iterator
 Non const iterator. More...
 
class  IlsInvertedRelationList< TargetType, OriginType >::Position
 

Typedefs

typedef unsigned int IlsCardinality
 Indicates the minimum or maximum number of elements in a one-to-many relation. More...
 
typedef IlsString IlsIdentifier
 The class IlsIdentifier is an alias for the class IlsString. Instances of this class behave like instances of IlsString. More...
 
typedef long IlsRelationId
 Identifies a relation. It is generally used to invert relations. More...
 
typedef IlsSmartPointer< IlsViewedIlsSmartViewed
 This type is a smart pointer to the type IlsViewed. More...
 

Enumerations

enum  ILS_CUT_DIRECTIVE { ILS_ALL, ILS_OWNERSHIP, ILS_USE }
 This enumerated type lists the directives that can be associated with the cut() function. More...
 
enum  IlsActivity { ILS_ACTIVE, ILS_INACTIVE }
 This enumerated type contains two values that indicate whether a data structure is active or not. More...
 

Functions

void setContext (OriginType &origin, Relation *rel, IlsRelationId relId)
 Callback that automatically maintains an inverse relation defined by means of the class templates IlsInvertedRelation or IlsInvertedRelationList. More...
 
void setSetContext (IlsSetContext< KeyType > &set)
 Callback that can be declared in each class that can be stored in set-relations. More...
 
void unsetContext (OriginType &origin, Relation *rel, IlsRelationId relId)
 Callback that is used to invert relations. More...
 
void unsetSetContext (IlsSetContext< KeyType > &set)
 Callback that can be declared in each class which can be stored in set-relations. More...
 

Variables

ILSIMPORT const IlsCardinality ILS_UNLIMITED_MAXCARD
 This constant value is used to set an unlimited maximum cardinality when creating a use-list or ownership list, or an inverted-relation list using the Server library. More...
 
ILSIMPORT const IlsRelationId IlsDefaultRelationId
 If you do not supply a relation identifier, ILOG Server supplies a default value of type IlsDefaultRelationId. More...
 

Typedef Documentation

◆ IlsCardinality

typedef unsigned int IlsCardinality

Indicates the minimum or maximum number of elements in a one-to-many relation.

Library: server

See also
IlsInvertedRelationList, IlsOwnsList, IlsOwnsSet, IlsSortedInvertedRelationList, IlsSortedOwnsList, IlsSortedUsesList, IlsUsesList, IlsUsesSet.

◆ IlsIdentifier

The class IlsIdentifier is an alias for the class IlsString. Instances of this class behave like instances of IlsString.

Library: server

See also
IlsEntity, IlsObject, IlsString.

◆ IlsRelationId

typedef long IlsRelationId

Identifies a relation. It is generally used to invert relations.

Library: server
.

Warning
This is defined as long long on 64 bits platforms.
See also
IlsDefaultRelationId, IlsInvertedRelationList, IlsOwnsDynamicArray, IlsOwnsFixedArray, IlsOwnsList, IlsUsesDynamicArray, IlsUsesFixedArray, IlsUsesList

◆ IlsSmartViewed

This type is a smart pointer to the type IlsViewed.

Library: server
.

See also
IlsSmartPointer, IlsViewed.

Enumeration Type Documentation

◆ ILS_CUT_DIRECTIVE

This enumerated type lists the directives that can be associated with the cut() function.

Library: server
.

See also
IlsEntity, IlsObject, IlsOwns, IlsOwnsList, IlsUses, IlsUsesList.
Enumerator
ILS_ALL 

This directive cuts all relations.

ILS_OWNERSHIP 

This directive cuts the ownership relation, if any. It does not apply to an entity.

ILS_USE 

This directive cuts use relations only. In the case of an entity, this value is equivalent to ILS_ALL.

◆ IlsActivity

This enumerated type contains two values that indicate whether a data structure is active or not.

Library: server

When a data structure is set to the value ILS_ACTIVE, its modification triggers the recomputation of derived data members.

See also
IlsDerived, IlsEntry, IlsInvertedRelation, IlsInvertedRelationList, IlsOwns, IlsOwnsDynamicArray, IlsOwnsList, IlsUses, IlsUsesDynamicArray, IlsUsesFixedArray, IlsUsesList.
Enumerator
ILS_ACTIVE 

Modifications of the entry trigger the recomputations of derived data members.

ILS_INACTIVE 

Modifications of the entry do not trigger the recomputations of derived data members.

Function Documentation

◆ setContext()

void setContext ( OriginType &  origin,
Relation *  rel,
IlsRelationId  relId 
)

Callback that automatically maintains an inverse relation defined by means of the class templates IlsInvertedRelation or IlsInvertedRelationList.

This function must be declared in the target class. It is called automatically when the relation is established. It is paired with the function unsetContext().

Related Pattern
Bridge
Parameters
originreference to the origin of the relation or to an instance of a class from which it derives
rela pointer to the relation itself or void*
relIdthe relation identifier. This identifier helps you differentiate relations of the same type that have the same origin.
See also
IlsInvertedRelation, IlsInvertedRelationList, IlsOwns, IlsOwnsList, IlsRelationId, IlsUses, IlsUsesList, unsetContext().

◆ setSetContext()

void setSetContext ( IlsSetContext< KeyType > &  set)

Callback that can be declared in each class that can be stored in set-relations.

This callback is automatically invoked when an instance of these classes is put in a set. It allows you to automatically handle the list of type IlsSetContextList. This function is paired with the function unsetSetContext().

Related Pattern
Bridge
Parameters
setReference to the set in which the object is put.
See also
IlsOwnsSet, IlsSetContext, IlsSetContextList, IlsUsesSet, unsetSetContext().

◆ unsetContext()

void unsetContext ( OriginType &  origin,
Relation *  rel,
IlsRelationId  relId 
)

Callback that is used to invert relations.

It is paired with the function setContext(). This function must be declared in the target class. It is called automatically when the relation is broken.

Related Pattern
Bridge
Parameters
originreference to the origin of the relation or to an instance of a class from which it derives
rela pointer to the relation itself or void*
relIdthe relation identifier. This identifier helps you differentiate relations of the same type that have the same origin.
See also
IlsInvertedRelation, IlsInvertedRelationList, IlsOwns, IlsOwnsList, IlsRelationId, IlsUses, IlsUsesList, setContext().

◆ unsetSetContext()

void unsetSetContext ( IlsSetContext< KeyType > &  set)

Callback that can be declared in each class which can be stored in set-relations.

It will be called automatically when an instance of these classes is removed from a set and allows you to automatically handle the list of type IlsSetContextList. This function is paired with setSetContext().

Related Pattern
Bridge
Parameters
setReference to the set in which the object is put.
See also
IlsOwnsSet, IlsSetContext, IlsSetContextList, IlsUsesSet, setSetContext().

Variable Documentation

◆ ILS_UNLIMITED_MAXCARD

ILSIMPORT const IlsCardinality ILS_UNLIMITED_MAXCARD
extern

This constant value is used to set an unlimited maximum cardinality when creating a use-list or ownership list, or an inverted-relation list using the Server library.

Library: server

See also
IlsInvertedRelationList, IlsOwnsList, IlsOwnsSet, IlsSortedInvertedRelationList, IlsSortedOwnsList, IlsSortedUsesList, IlsUsesList, IlsUsesSet.

◆ IlsDefaultRelationId

ILSIMPORT const IlsRelationId IlsDefaultRelationId
extern

If you do not supply a relation identifier, ILOG Server supplies a default value of type IlsDefaultRelationId.

Library: server

See also
IlsRelationId.