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