TRODLService

Overview

TRODLService is a class that represents a service element in a RODL file.

Use Case

This class is used internally for auto code generation and conversion from RODL into different formats (such as WSDL for SOAP clients). You may use this class to gain access to RODL meta data (as described in Manipulation of RODL Meta Data this article).

Location

 

constructor Create  override    (declared in TRODLBaseService)

Creates a new instance with a unique GUID.

constructor Create

Abstract    (declared in TRODLComplexEntity)

Equals true if the current TRODLComplexEntity object describes abstract objects, otherwise equals false.

property Abstract: Boolean read write

Add  overload virtual    (declared in TRODLComplexEntity)

Adds a new object to the Items collection.

function Add: TRODLEntity

Add  reintroduce overload    (declared in TRODLBaseService)

Adds a new item to the Items collection.

function Add: TRODLServiceInterface

Add (TRODLEntity): Integer  overload virtual    (declared in TRODLComplexEntity)

Adds specified object to the Items collection.

function Add(anEntity: TRODLEntity): Integer

Parameters:

  • anEntity: Object

Add (TRODLServiceInterface): Integer  reintroduce overload    (declared in TRODLBaseService)

Adds an aStructInterface object to the Items collection.

function Add(aServiceInterface: TRODLServiceInterface): Integer

Parameters:

  • aServiceInterface:

Ancestor    (declared in TRODLBaseService)

Represents the ancestor name for the current TRODLBaseService object.

property Ancestor: string read write

Assign  override

Copies data from a given source.

procedure Assign(const Source: TRODLEntity)

Parameters:

  • Source: Instance whose properties will be copied

Attributes    (declared in TRODLEntity)

List of strings that represents object attributes.

property Attributes: TStrings read

AutoCreateParams    (declared in TRODLComplexEntity)

Equals true if the described object has the ability to autocreate fields, otherwise equals false.

property AutoCreateParams: Boolean read write

Clear  virtual    (declared in TRODLComplexEntity)

Clears the Items collection.

procedure Clear

ContainsEntity    (declared in TRODLComplexEntity)

Returns true if the aEntity object is found in the Items collection. If aRecurse is true, it searches recursively on all objects in the Items collection. By default, aRecurse is true.

function ContainsEntity(aEntity: TRODLEntity; aRecurse: Boolean): Boolean

Parameters:

  • aEntity: Object;
  • aRecurse: If true, the method searches recursively on all objects;

Count    (declared in TRODLComplexEntity)

Count of items in the Items collection.

property Count: Integer read

Data    (declared in TRODLEntity)

Object associated with the current TRODLEntity object. This property is needed to hold custom application-specific data at runtime for application coding convenience.

property Data: TObject read write

Default    (declared in TRODLBaseService)

Defines the default TRODLServiceInterface object with the name Default.

property Default: TRODLServiceInterface read

Delete  virtual    (declared in TRODLComplexEntity)

Deletes items with the specified Index from the Items collection.

procedure Delete(Index: Integer)

Parameters:

  • Index: Index of item that will be deleted;

Documentation    (declared in TRODLEntity)

Description of the current object.

property Documentation: UnicodeString read write

DontCodegen    (declared in TRODLEntity)

property DontCodegen: Boolean read write

Exchange  virtual    (declared in TRODLComplexEntity)

Exchanges two items in Items collection.

procedure Exchange(Index1: Integer; Index2: Integer)

Parameters:

  • Index1: First item index;
  • Index2: Second item index;

GetDontCodegen  protected virtual    (declared in TRODLEntity)

function GetDontCodegen: Boolean

GetItemClass  protected override    (declared in TRODLBaseService)

Returns the TRODLServiceInterface class.

function GetItemClass: TRODLEntityClass

GroupUnder    (declared in TRODLEntity)

If the object is contained in group, this property returns the group object, otherwise it returns nil.

property GroupUnder: TRODLGroup read write

ImplClass    (declared in TRODLBaseService)

Represents the implementation class name of the current service.

property ImplClass: string read write

ImplUnit    (declared in TRODLBaseService)

Represents the implementation unit name of the current service.

property ImplUnit: string read write

Info    (declared in TRODLEntity)

The TRODLEntity object that is associated with the current object. It is needed for backwards compatibility.

property Info: TRODLEntity read

Insert (Integer): TRODLEntity  overload virtual    (declared in TRODLComplexEntity)

Inserts a new object to the Items collection in the specified aIndex position.

function Insert(aIndex: Integer): TRODLEntity

Parameters:

  • aIndex:

Insert (Integer, TRODLEntity)  overload virtual    (declared in TRODLComplexEntity)

Inserts an anEntity object to the Items collection in the specified aIndex position.

procedure Insert(aIndex: Integer; anEntity: TRODLEntity)

Parameters:

  • aIndex:
  • anEntity:

InUse    (declared in TRODLEntity)

property InUse: TRODLUseList read

InUseCount    (declared in TRODLEntity)

property InUseCount: Integer read

IsDerivedFrom  protected virtual    (declared in TRODLBaseService)

Returns true if the current TRODLBaseService object is derived of an aBaseService object, otherwise returns false.

function IsDerivedFrom(aBaseService: TRODLBaseService): Boolean

Parameters:

  • aBaseService:

IsFromUsedRodl    (declared in TRODLEntity)

Indicates when a class refers to the linked RODL file. The linked RODL file is declared in the section Uses of the current RODL file.

property IsFromUsedRodl: Boolean read

isPrivate    (declared in TRODLBaseService)

Equals true if the current service is private, otherwise equals false. This property is needed to include or exclude service descriptions in the WSDL schema.

property isPrivate: Boolean read write

ItemByName    (declared in TRODLComplexEntity)

Returns the item with the specified aName name in the Items collection.

function ItemByName(const aName: string): TRODLEntity

Parameters:

  • aName:

ItemByUID    (declared in TRODLComplexEntity)

Returns the item with the specified aUID UID in the Items collection.

function ItemByUID(const aUID: TGUID): TRODLEntity

Parameters:

  • aUID:

ItemClass    (declared in TRODLComplexEntity)

Contains the class name of the current object.

property ItemClass: TRODLEntityClass read

Items    (declared in TRODLComplexEntity)

Contains the collection of TRODLEntity objects.

property Items[Index: Integer]: TRODLEntity read

Items    (declared in TRODLBaseService)

Contains the TRODLServiceInterface objects collection.

property Items[Index: Integer]: TRODLServiceInterface read

LocatedInRodlUse    (declared in TRODLEntity)

Detailed info about the RODL that is using the current TRODLEntity object.

property LocatedInRodlUse: TRODLUse read write

Name    (declared in TRODLEntity)

The Name of the current TRODLEntity object.

property Name: string read write

OriginalName    (declared in TRODLEntity)

The OriginalName of the current TRODLEntity object. If the private variable fOriginalName is not defined, OriginalName equals Name.

property OriginalName: string read write

Owner    (declared in TRODLEntity)

The Owner of the current TRODLEntity object.

property Owner: TRODLEntity read

OwnerLibrary    (declared in TRODLEntity)

The owner library of the current object.

property OwnerLibrary: TRODLLibrary read

ReadableEntityTypeName    (declared in TRODLEntity)

Returns the class name without the prefix 'TRODL'.

class function ReadableEntityTypeName: string

Remove  virtual    (declared in TRODLComplexEntity)

Removes the specified object from the Items collection.

procedure Remove(anEntity: TRODLEntity)

Parameters:

  • anEntity: Object that will be removed;

Roles

This property holds an array of role names, each name representing a role that is needed to access the object. If no roles are listed, access will be granted to all clients. You can read more about roles in this article.

property Roles: TStringArray read write

Sort    (declared in TRODLComplexEntity)

Sorts items in Items collection.

procedure Sort

UID    (declared in TRODLEntity)

Unique identifier.

property UID: TGUID read write

UniqueName    (declared in TRODLComplexEntity)

Generates unique names based on the aBaseName.

function UniqueName(aBaseName: string): string

Parameters:

  • aBaseName:

Validate  override    (declared in TRODLBaseService)

Validates the current TRODLBaseService object. If Ancestor is not valid, the method generates an error message with the description "Invalid or undefined ancestor type <AncestorName>.". If the current object has an ancestor reference for itself, an error message with the description "Circular reference detected between %s and %s" is generated. If the Items collection has items that exist in the ancestors, an error message with the description "An item named "%s" already exists in ancestor "%s"." is generated.

procedure Validate(aMessages: IROPluginMessages)

Parameters:

  • aMessages:

 

Abstract    (declared in TRODLComplexEntity)

Equals true if the current TRODLComplexEntity object describes abstract objects, otherwise equals false.

property Abstract: Boolean read write

Ancestor    (declared in TRODLBaseService)

Represents the ancestor name for the current TRODLBaseService object.

property Ancestor: string read write

Attributes    (declared in TRODLEntity)

List of strings that represents object attributes.

property Attributes: TStrings read

AutoCreateParams    (declared in TRODLComplexEntity)

Equals true if the described object has the ability to autocreate fields, otherwise equals false.

property AutoCreateParams: Boolean read write

Count    (declared in TRODLComplexEntity)

Count of items in the Items collection.

property Count: Integer read

Data    (declared in TRODLEntity)

Object associated with the current TRODLEntity object. This property is needed to hold custom application-specific data at runtime for application coding convenience.

property Data: TObject read write

Default    (declared in TRODLBaseService)

Defines the default TRODLServiceInterface object with the name Default.

property Default: TRODLServiceInterface read

Documentation    (declared in TRODLEntity)

Description of the current object.

property Documentation: UnicodeString read write

DontCodegen    (declared in TRODLEntity)

property DontCodegen: Boolean read write

GroupUnder    (declared in TRODLEntity)

If the object is contained in group, this property returns the group object, otherwise it returns nil.

property GroupUnder: TRODLGroup read write

ImplClass    (declared in TRODLBaseService)

Represents the implementation class name of the current service.

property ImplClass: string read write

ImplUnit    (declared in TRODLBaseService)

Represents the implementation unit name of the current service.

property ImplUnit: string read write

Info    (declared in TRODLEntity)

The TRODLEntity object that is associated with the current object. It is needed for backwards compatibility.

property Info: TRODLEntity read

InUse    (declared in TRODLEntity)

property InUse: TRODLUseList read

InUseCount    (declared in TRODLEntity)

property InUseCount: Integer read

IsFromUsedRodl    (declared in TRODLEntity)

Indicates when a class refers to the linked RODL file. The linked RODL file is declared in the section Uses of the current RODL file.

property IsFromUsedRodl: Boolean read

isPrivate    (declared in TRODLBaseService)

Equals true if the current service is private, otherwise equals false. This property is needed to include or exclude service descriptions in the WSDL schema.

property isPrivate: Boolean read write

ItemClass    (declared in TRODLComplexEntity)

Contains the class name of the current object.

property ItemClass: TRODLEntityClass read

Items    (declared in TRODLComplexEntity)

Contains the collection of TRODLEntity objects.

property Items[Index: Integer]: TRODLEntity read

Items    (declared in TRODLBaseService)

Contains the TRODLServiceInterface objects collection.

property Items[Index: Integer]: TRODLServiceInterface read

LocatedInRodlUse    (declared in TRODLEntity)

Detailed info about the RODL that is using the current TRODLEntity object.

property LocatedInRodlUse: TRODLUse read write

Name    (declared in TRODLEntity)

The Name of the current TRODLEntity object.

property Name: string read write

OriginalName    (declared in TRODLEntity)

The OriginalName of the current TRODLEntity object. If the private variable fOriginalName is not defined, OriginalName equals Name.

property OriginalName: string read write

Owner    (declared in TRODLEntity)

The Owner of the current TRODLEntity object.

property Owner: TRODLEntity read

OwnerLibrary    (declared in TRODLEntity)

The owner library of the current object.

property OwnerLibrary: TRODLLibrary read

Roles

This property holds an array of role names, each name representing a role that is needed to access the object. If no roles are listed, access will be granted to all clients. You can read more about roles in this article.

property Roles: TStringArray read write

UID    (declared in TRODLEntity)

Unique identifier.

property UID: TGUID read write

 

ReadableEntityTypeName    (declared in TRODLEntity)

Returns the class name without the prefix 'TRODL'.

class function ReadableEntityTypeName: string

 

constructor Create  override    (declared in TRODLBaseService)

Creates a new instance with a unique GUID.

constructor Create

Add  overload virtual    (declared in TRODLComplexEntity)

Adds a new object to the Items collection.

function Add: TRODLEntity

Add  reintroduce overload    (declared in TRODLBaseService)

Adds a new item to the Items collection.

function Add: TRODLServiceInterface

Add (TRODLEntity): Integer  overload virtual    (declared in TRODLComplexEntity)

Adds specified object to the Items collection.

function Add(anEntity: TRODLEntity): Integer

Parameters:

  • anEntity: Object

Add (TRODLServiceInterface): Integer  reintroduce overload    (declared in TRODLBaseService)

Adds an aStructInterface object to the Items collection.

function Add(aServiceInterface: TRODLServiceInterface): Integer

Parameters:

  • aServiceInterface:

Assign  override

Copies data from a given source.

procedure Assign(const Source: TRODLEntity)

Parameters:

  • Source: Instance whose properties will be copied

Clear  virtual    (declared in TRODLComplexEntity)

Clears the Items collection.

procedure Clear

ContainsEntity    (declared in TRODLComplexEntity)

Returns true if the aEntity object is found in the Items collection. If aRecurse is true, it searches recursively on all objects in the Items collection. By default, aRecurse is true.

function ContainsEntity(aEntity: TRODLEntity; aRecurse: Boolean): Boolean

Parameters:

  • aEntity: Object;
  • aRecurse: If true, the method searches recursively on all objects;

Delete  virtual    (declared in TRODLComplexEntity)

Deletes items with the specified Index from the Items collection.

procedure Delete(Index: Integer)

Parameters:

  • Index: Index of item that will be deleted;

Exchange  virtual    (declared in TRODLComplexEntity)

Exchanges two items in Items collection.

procedure Exchange(Index1: Integer; Index2: Integer)

Parameters:

  • Index1: First item index;
  • Index2: Second item index;

GetDontCodegen  protected virtual    (declared in TRODLEntity)

function GetDontCodegen: Boolean

GetItemClass  protected override    (declared in TRODLBaseService)

Returns the TRODLServiceInterface class.

function GetItemClass: TRODLEntityClass

Insert (Integer): TRODLEntity  overload virtual    (declared in TRODLComplexEntity)

Inserts a new object to the Items collection in the specified aIndex position.

function Insert(aIndex: Integer): TRODLEntity

Parameters:

  • aIndex:

Insert (Integer, TRODLEntity)  overload virtual    (declared in TRODLComplexEntity)

Inserts an anEntity object to the Items collection in the specified aIndex position.

procedure Insert(aIndex: Integer; anEntity: TRODLEntity)

Parameters:

  • aIndex:
  • anEntity:

IsDerivedFrom  protected virtual    (declared in TRODLBaseService)

Returns true if the current TRODLBaseService object is derived of an aBaseService object, otherwise returns false.

function IsDerivedFrom(aBaseService: TRODLBaseService): Boolean

Parameters:

  • aBaseService:

ItemByName    (declared in TRODLComplexEntity)

Returns the item with the specified aName name in the Items collection.

function ItemByName(const aName: string): TRODLEntity

Parameters:

  • aName:

ItemByUID    (declared in TRODLComplexEntity)

Returns the item with the specified aUID UID in the Items collection.

function ItemByUID(const aUID: TGUID): TRODLEntity

Parameters:

  • aUID:

Remove  virtual    (declared in TRODLComplexEntity)

Removes the specified object from the Items collection.

procedure Remove(anEntity: TRODLEntity)

Parameters:

  • anEntity: Object that will be removed;

Sort    (declared in TRODLComplexEntity)

Sorts items in Items collection.

procedure Sort

UniqueName    (declared in TRODLComplexEntity)

Generates unique names based on the aBaseName.

function UniqueName(aBaseName: string): string

Parameters:

  • aBaseName:

Validate  override    (declared in TRODLBaseService)

Validates the current TRODLBaseService object. If Ancestor is not valid, the method generates an error message with the description "Invalid or undefined ancestor type <AncestorName>.". If the current object has an ancestor reference for itself, an error message with the description "Circular reference detected between %s and %s" is generated. If the Items collection has items that exist in the ancestors, an error message with the description "An item named "%s" already exists in ancestor "%s"." is generated.

procedure Validate(aMessages: IROPluginMessages)

Parameters:

  • aMessages: