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) overload virtual
Creates a new instance. The aLibrary defines the RODL library that should be converted. The aTargetEntity defines the specified service in the aLibrary. By default, aTargetEntity contains an empty string.
constructor Create(const aLibrary: TRODLLibrary; const aTargetEntity: string)
Parameters:
- aLibrary: RODL Library.
- aTargetEntity: Specified service that should be converted.
constructor Create (string, string) overload virtual
Creates a new instance. The aLibrary defines the library with the RODL file that should be converted. The aTargetEntity defines the specified service in the aLibrary. By default, aTargetEntity contains an empty string.
constructor Create(const aLibraryFile: string; const aTargetEntity: string)
Parameters:
- aLibraryFile: Name of the RODL file
- aTargetEntity: Specified service that should be converted
AsBytes
Contains the result of the conversion.
property AsBytes: TBytes read
Buffer
Contains the result of the conversion.
property Buffer: TStrings read
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
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
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
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
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) overload virtual
Creates a new instance. The aLibrary defines the RODL library that should be converted. The aTargetEntity defines the specified service in the aLibrary. By default, aTargetEntity contains an empty string.
constructor Create(const aLibrary: TRODLLibrary; const aTargetEntity: string)
Parameters:
- aLibrary: RODL Library.
- aTargetEntity: Specified service that should be converted.
constructor Create (string, string) overload virtual
Creates a new instance. The aLibrary defines the library with the RODL file that should be converted. The aTargetEntity defines the specified service in the aLibrary. By default, aTargetEntity contains an empty string.
constructor Create(const aLibraryFile: string; const aTargetEntity: string)
Parameters:
- aLibraryFile: Name of the RODL file
- aTargetEntity: Specified service that should be converted
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
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