Server
API Reference Guide
Product Documentation:

Rogue Wave Server
Documentation Home
List of all members | Public Member Functions
IlsRelationDef Class Reference

An IlsRelationDef object defines the runtime visibility and access to a relation of a server object type. More...

#include <ilserver/rtmodel.h>

Inherits IlsPropertyManager, and IlsRightsDef.

Public Member Functions

IlsRelationModifier getExtractor () const
 Gets the relation extractor. More...
 
IlsRelationModifier getInserter () const
 Gets the relation inserted. More...
 
IlsRTTypes::RelationKind getKind () const
 Returns the kind of the relation.
 
IlsRelationModifier getModifier () const
 Gets the relation modifier. More...
 
const IlsStringgetName () const
 Returns the name associated with the relation in the macro that declares the relation. More...
 
IlsRelationAccessor getRelationAccessor () const
 Returns the relation accessor.
 
const IlsStringgetReverse () const
 Gets the inverse relation if any. More...
 
IlsSimpleTargetAccessor getSimpleTargetAccessor () const
 In the case of a unary relation, this member function returns the target accessor. Otherwise, it returns the null pointer.
 
const IlsStringgetTargetTypeNm () const
 Returns the name of the relation target type.
 
IlsBoolean isExported () const
 Returns IlsTrue if this element of the server model interpreter is exported. More...
 
IlsBoolean isImplicit () const
 Returns IlsTrue if the relation has been declared implicitly by Rogue Wave Server. More...
 
void setExported (IlsBoolean b)
 Changed exportation mode of the relation. More...
 

Detailed Description

An IlsRelationDef object defines the runtime visibility and access to a relation of a server object type.

Library: mvserver

It is implicitly created in the server model interpreter via static initialization data declared in macros such as ILS_W_RELATION_X(), ILS_RW_RELATION_X(), ILS_USES_X(), ILS_OWNS_X(), ILS_INVERTED_X().

See also
ILS_INVERTED_1(), ILS_INVERTED_N(), IlsModelInterpreter, IlsObjectType, ILS_OWNS_1(), ILS_OWNS_N(), ILS_REVERSE(), ILS_RW_RELATION_1(), ILS_RW_RELATION_N(), ILS_USES_1(), ILS_USES_N(), ILS_W_RELATION_1(), ILS_W_RELATION_N().

Member Function Documentation

◆ getExtractor()

IlsRelationModifier IlsRelationDef::getExtractor ( ) const

Gets the relation extractor.

This member function returns one of the following:

  • Either the extraction operator of the relation in the case of an editable direct n-ary relation,
  • Or the extraction operator of the inverse relation in the case of an inverse relation inverting an editable direct n-ary relation,
  • Or the null pointer.

◆ getInserter()

IlsRelationModifier IlsRelationDef::getInserter ( ) const

Gets the relation inserted.

This member function returns one of the following:

  • Either the insertion operator of the relation in the case of an editable direct n-ary relation,
  • Or the insertion operator of the inverse relation in the case of an inverse relation inverting an editable direct n-ary relation,
  • Or the null pointer.

◆ getModifier()

IlsRelationModifier IlsRelationDef::getModifier ( ) const

Gets the relation modifier.

This member function returns one of the following:

  • Either the modifier of the relation in the case of an editable direct unary relation,
  • Or the modifier of the inverse relation in the case of an inverse relation inverting an editable direct unary relation,
  • Or the null pointer.

◆ getName()

const IlsString& IlsRelationDef::getName ( ) const

Returns the name associated with the relation in the macro that declares the relation.

Note
This name can be different from the actual identifier of the C++ data member.

◆ getReverse()

const IlsString& IlsRelationDef::getReverse ( ) const

Gets the inverse relation if any.

This member function returns one of the following:

  • Either the name of the relation that is inverted in the case of an inverted relation,
  • Or the name of the associated inverted relation in the case of a direct relation,
  • Or the null string by default.
See also
ILS_REVERSE().

◆ isExported()

IlsBoolean IlsRelationDef::isExported ( ) const

Returns IlsTrue if this element of the server model interpreter is exported.

By default, all model interpreter elements are exported.

◆ isImplicit()

IlsBoolean IlsRelationDef::isImplicit ( ) const

Returns IlsTrue if the relation has been declared implicitly by Rogue Wave Server.

This is the case, for instance, of the origin relation of any dynamic view type.

◆ setExported()

void IlsRelationDef::setExported ( IlsBoolean  b)

Changed exportation mode of the relation.

Use this member function to export an element of the server model interpreter or to cancel exportation. Non-exported elements are not seen in Rogue Wave Server Studio.