TRODLConverter

Overview

The TRODLConverter class is the ancestor class for RODL converters. It provides base functionality to convert RODL files to a specified format. This class can be used as base class for specified custom RODL converters.

For example, if you want to convert a specified RODL file to HTML format, you have to create the descendant class (Type TRODLToHTML = class(TRODLConverter)) and override the IntConvert procedure that converts the RODL file to HTML.

Location

  • Unit: uRODL.pas


 

constructor Create (TRODLLibrary, string, Boolean, string)  overload virtual

Creates a new instance with a supplied values.

constructor Create(const aLibrary: TRODLLibrary; const aTargetEntity: string; aFlattenUsedRODLs: Boolean; aOutputFileName: string)

Parameters:

  • aLibrary:
  • aTargetEntity:
  • aFlattenUsedRODLs:
  • aOutputFileName:

constructor Create (string, string, Boolean, string)  overload virtual

Creates a new instance with a supplied values.

constructor Create(const aLibraryFile: string; const aTargetEntity: string; aFlattenUsedRODLs: Boolean; aOutputFileName: string)

Parameters:

  • aLibraryFile:
  • aTargetEntity:
  • aFlattenUsedRODLs:
  • aOutputFileName:

AsBytes

Contains the result of the conversion.

property AsBytes: TBytes read

Buffer

Contains the result of the conversion.

property Buffer: TStrings read

ContainsServiceGroup  protected

function ContainsServiceGroup(aEntity: TRODLEntity): Boolean

Parameters:

  • aEntity:

Convert

Calls the IntConvert function that converts the library (if aTargetEntity is not defined) or the specified service (if aTargetEntity is defined) to the specified format. If the aLibrary is not defined, it generates an "Invalid library" error message. If the aTargetEntity is not valid, it generates an "Invalid TargetEntity "%s"" error message.

procedure Convert(const aLibrary: TRODLLibrary; const aTargetEntity: string)

Parameters:

  • aLibrary: Library with the RODL file
  • aTargetEntity: Specified service in the aLibrary

ExcludePrivateServices

property ExcludePrivateServices: Boolean read write

ExcludeServiceGroupAttribute

property ExcludeServiceGroupAttribute: Boolean read write

FlattenUsedRODLs  protected

property FlattenUsedRODLs: Boolean read

GetFormat  virtual abstract

Returns current format

class function GetFormat: string

GetTargetFileName  virtual

Virtual function that returns the result file name of the converted RODL file in the ancestor classes. The aLibrary and the aTargetEntity are used as parts of the result file name.

class function GetTargetFileName(const aLibrary: TRODLLibrary; const aTargetEntity: string): string

Parameters:

  • aLibrary: Part of the result file name
  • aTargetEntity: Part of the result file name

isFlatten  protected

function isFlatten(aEntity: TRODLEntity): Boolean

Parameters:

  • aEntity:

OutputFileName  protected

property OutputFileName: string read

ServiceGroup

Allows to get/set Service Groups

property ServiceGroup: string read write

TargetEntity

The name of the TRODLService service that should be converted to the specified format. This property is used when you need to convert the specified service only, not all services from your RODL file.

property TargetEntity: string read

ValidateTargetEntity  protected virtual

Finds the aTargetEntity service in the aLibrary. Returns true when the aTargetEntity service is found in the aLibrary. Otherwise returns false.

function ValidateTargetEntity(const aLibrary: TRODLLibrary; const aTargetEntity: string): Boolean

Parameters:

  • aLibrary: Library with the RODL file
  • aTargetEntity: Specified service in the aLibrary

Write (ROUTF8String, Integer)  overload

Adds the string someText with an Identation count of spaces before the string to the Buffer.

procedure Write(const someText: ROUTF8String; Indentation: Integer)

Parameters:

  • someText: Specified string
  • Indentation: Count of spaces before someText

WriteEmptyLine

Adds an empty line to the Buffer.

procedure WriteEmptyLine

WriteLines

Adds the string someText to the Buffer.

procedure WriteLines(const someText: ROUTF8String)

Parameters:

  • someText: Specified string

 

AsBytes

Contains the result of the conversion.

property AsBytes: TBytes read

Buffer

Contains the result of the conversion.

property Buffer: TStrings read

ExcludePrivateServices

property ExcludePrivateServices: Boolean read write

ExcludeServiceGroupAttribute

property ExcludeServiceGroupAttribute: Boolean read write

FlattenUsedRODLs  protected

property FlattenUsedRODLs: Boolean read

OutputFileName  protected

property OutputFileName: string read

ServiceGroup

Allows to get/set Service Groups

property ServiceGroup: string read write

TargetEntity

The name of the TRODLService service that should be converted to the specified format. This property is used when you need to convert the specified service only, not all services from your RODL file.

property TargetEntity: string read

 

GetFormat  virtual abstract

Returns current format

class function GetFormat: string

GetTargetFileName  virtual

Virtual function that returns the result file name of the converted RODL file in the ancestor classes. The aLibrary and the aTargetEntity are used as parts of the result file name.

class function GetTargetFileName(const aLibrary: TRODLLibrary; const aTargetEntity: string): string

Parameters:

  • aLibrary: Part of the result file name
  • aTargetEntity: Part of the result file name

 

constructor Create (TRODLLibrary, string, Boolean, string)  overload virtual

Creates a new instance with a supplied values.

constructor Create(const aLibrary: TRODLLibrary; const aTargetEntity: string; aFlattenUsedRODLs: Boolean; aOutputFileName: string)

Parameters:

  • aLibrary:
  • aTargetEntity:
  • aFlattenUsedRODLs:
  • aOutputFileName:

constructor Create (string, string, Boolean, string)  overload virtual

Creates a new instance with a supplied values.

constructor Create(const aLibraryFile: string; const aTargetEntity: string; aFlattenUsedRODLs: Boolean; aOutputFileName: string)

Parameters:

  • aLibraryFile:
  • aTargetEntity:
  • aFlattenUsedRODLs:
  • aOutputFileName:

ContainsServiceGroup  protected

function ContainsServiceGroup(aEntity: TRODLEntity): Boolean

Parameters:

  • aEntity:

Convert

Calls the IntConvert function that converts the library (if aTargetEntity is not defined) or the specified service (if aTargetEntity is defined) to the specified format. If the aLibrary is not defined, it generates an "Invalid library" error message. If the aTargetEntity is not valid, it generates an "Invalid TargetEntity "%s"" error message.

procedure Convert(const aLibrary: TRODLLibrary; const aTargetEntity: string)

Parameters:

  • aLibrary: Library with the RODL file
  • aTargetEntity: Specified service in the aLibrary

isFlatten  protected

function isFlatten(aEntity: TRODLEntity): Boolean

Parameters:

  • aEntity:

ValidateTargetEntity  protected virtual

Finds the aTargetEntity service in the aLibrary. Returns true when the aTargetEntity service is found in the aLibrary. Otherwise returns false.

function ValidateTargetEntity(const aLibrary: TRODLLibrary; const aTargetEntity: string): Boolean

Parameters:

  • aLibrary: Library with the RODL file
  • aTargetEntity: Specified service in the aLibrary

Write (ROUTF8String, Integer)  overload

Adds the string someText with an Identation count of spaces before the string to the Buffer.

procedure Write(const someText: ROUTF8String; Indentation: Integer)

Parameters:

  • someText: Specified string
  • Indentation: Count of spaces before someText

WriteEmptyLine

Adds an empty line to the Buffer.

procedure WriteEmptyLine

WriteLines

Adds the string someText to the Buffer.

procedure WriteLines(const someText: ROUTF8String)

Parameters:

  • someText: Specified string