Namespace: Consultingwerk.Util
Class 
AblReflectionHelper Copy to Clipboard
Parent classes:
Inherits: Progress.Lang.Object

File:AblReflectionHelper
Purpose:Helper methods for use with ABL reflection (OpenEdge 11.6)
Author(s):Mike Fechner / Consultingwerk Ltd.
Created:Sat Jan 16 11:52:33 CET 2016
Purpose: Protected constructor for the AblReflectionHelper class
Notes: Disallow instance creation



Top Method Summary
Options Name Purpose
+ INTEGER CopyPropertyValues (Object, Object) Copies property values from one object instance to another
+ Progress.Reflect.Method GetInvokableMethod (Class, character) Returns the (first) invokable method of the class with the given name
+ Progress.Reflect.Method GetInvokableMethod (Class, character, integer) Returns the (first) invokable method of the class with the given name
+ Progress.Reflect.Method GetInvokableMethod (Class, character, integer, character) Returns the (first) invokable method of the class with the given name
+ CHARACTER GetMethodNamesByParameterCount (Class, integer) Returns a comma delimited list of all method names with the given number of parameters
+ CHARACTER GetMethodNamesByParameterCount (Class, integer, Flags) Returns a comma delimited list of all method names with the given number of parameters and flags
+ Consultingwerk.ListMethod GetMethodsByName (Class, character) Returns all methods of the given class with the given name
+ Consultingwerk.ListMethod GetMethodsByName (Class, character, Flags) Returns all methods of the given class with the given name
+ LOGICAL HasDefaultConstructor (character) Returns true if the input class has a default constructor (public constructor with no parameters)
+ LOGICAL HasDefaultConstructor (Class) Returns true if the input class has a default constructor (public constructor with no parameters)
+ MapQueryRowToObject (handle, Object) Copies the field values of the current query buffers to the properties of the object
+ CHARACTER PropertyNamesExcept (Object, character) Returns the list of Property Names of the given object except the given property names

Top Constructor Summary
Options Name Purpose
# AblReflectionHelper () Protected constructor for the AblReflectionHelper class


Method Detail
Top

PUBLIC INTEGER CopyPropertyValues (Object, Object)

Purpose: Copies property values from one object instance to another
Notes: Only copies properties with the same names. Property needs
to be PUBLIC GET on the source and PUBLIC SET on the
target. Ignores errors from GET and SET

Parameters:
poSourceObject Progress.Lang.Object
The object to copy property values from
poTargetObject Progress.Lang.Object
The object to copy property values to
Returns INTEGER
The number of copied property values
Top

PUBLIC Progress.Reflect.Method GetInvokableMethod (Class, character)

Purpose: Returns the (first) invokable method of the class with the given name
Notes: Invokable methods of a Business Entity have an INPUT-OUTPUT Parameter
DATASET/DATASET-HANDLE and an INPUT parameter for an object

Parameters:
poClass Progress.Lang.Class
The reference to the class
pcMethodName CHARACTER
The name of the method(s) to return
Returns Progress.Reflect.Method
The Progress.Reflect.Method with the given name or ?
Top

PUBLIC Progress.Reflect.Method GetInvokableMethod (Class, character, integer)

Purpose: Returns the (first) invokable method of the class with the given name
Notes: Invokable methods of a Business Entity have an INPUT-OUTPUT Parameter
DATASET/DATASET-HANDLE and an INPUT parameter for an object

Parameters:
poClass Progress.Lang.Class
The reference to the class
pcMethodName CHARACTER
The name of the method(s) to return
piNumDatasets INTEGER
The number of dataset parameters (Business Tasks, 1 for Business Entities)
Returns Progress.Reflect.Method
The Progress.Reflect.Method with the given name or ?
Top

PUBLIC Progress.Reflect.Method GetInvokableMethod (Class, character, integer, character)

Purpose: Returns the (first) invokable method of the class with the given name
Notes: Invokable methods of a Business Entity have an INPUT-OUTPUT Parameter
DATASET/DATASET-HANDLE and an INPUT parameter for an object

Parameters:
poClass Progress.Lang.Class
The reference to the class
pcMethodName CHARACTER
The name of the method(s) to return
piNumDatasets INTEGER
The number of dataset parameters (Business Tasks, 1 for Business Entities)
pcParameterType CHARACTER
The name of the parameter class name, maybe ? to ignore this filter
Returns Progress.Reflect.Method
The Progress.Reflect.Method with the given name or ?
Top

PUBLIC CHARACTER GetMethodNamesByParameterCount (Class, integer)

Purpose: Returns a comma delimited list of all method names with the given
number of parameters
Notes: Returns only PUBLIC methods

Parameters:
poClass Progress.Lang.Class
The class to return the method names from
piNumParameters INTEGER
The number of parameters to return
Returns CHARACTER
The comma delimited list of method names with the given number of parameters
Top

PUBLIC CHARACTER GetMethodNamesByParameterCount (Class, integer, Flags)

Purpose: Returns a comma delimited list of all method names with the given
number of parameters and flags
Notes: Used by the DataAccess class to retrieve the names of validation methods

Parameters:
poClass Progress.Lang.Class
The class to return the method names from
piNumParameters INTEGER
The number of parameters to return
poFlags Progress.Reflect.Flags
The method flags to filter methods
Returns CHARACTER
The comma delimited list of method names with the given number of parameters
Top

PUBLIC Consultingwerk.ListMethod GetMethodsByName (Class, character)

Purpose: Returns all methods of the given class with the given name
Notes:

Parameters:
poClass Progress.Lang.Class
The reference to the class
pcMethodName CHARACTER
The name of the method(s) to return
Returns Consultingwerk.ListMethod
The ListMethod with the list of method
Top

PUBLIC Consultingwerk.ListMethod GetMethodsByName (Class, character, Flags)

Purpose: Returns all methods of the given class with the given name
Notes:

Parameters:
poClass Progress.Lang.Class
The reference to the class
pcMethodName CHARACTER
The name of the method(s) to return
poFlags Progress.Reflect.Flags
The method flags to filter methods
Returns Consultingwerk.ListMethod
The ListMethod with the list of method
Top

PUBLIC LOGICAL HasDefaultConstructor (character)

Purpose: Returns true if the input class has a default constructor (public constructor with no parameters)
Notes: Returns false when the type is not a valid reference, is abstract, is an interface or is an enum.

Parameters:
pcClassType CHARACTER
The name of the type to check
Returns LOGICAL
Logical value indicating if the class name has a default constructor.
Top

PUBLIC LOGICAL HasDefaultConstructor (Class)

Purpose: Returns true if the input class has a default constructor (public constructor with no parameters)
Notes: Returns false when the type is not a valid reference, is abstract, is an interface or is an enum.

Parameters:
poClassType Progress.Lang.Class
The Progress.Lang.Class instance to check
Returns LOGICAL
Logical value indicating if the class name has a default constructor.
Top

PUBLIC MapQueryRowToObject (handle, Object)

Purpose: Copies the field values of the current query buffers to the
properties of the object
Notes:

Parameters:
phQuery HANDLE
The handle of the query
poObject Progress.Lang.Object
The reference to the object
Top

PUBLIC CHARACTER PropertyNamesExcept (Object, character)

Purpose: Returns the list of Property Names of the given object
except the given property names
Notes:

Parameters:
poObject Progress.Lang.Object
The object to return the property names from
pcExceptPropertyNames CHARACTER
The property names to exclude from the result
Returns CHARACTER
The list of Property Names


Constructor Detail
Top

PROTECTED AblReflectionHelper ()

Purpose: Protected constructor for the AblReflectionHelper class
Notes: Disallow instance creation



©2006-2023 Consultingwerk Ltd.         info@consultingwerk.de         http://www.consultingwerk.de       15.04.2024 06:16:21