Namespace: Consultingwerk
Class 
XmlSerializable Copy to Clipboard
Parent classes:
Inherits: Progress.Lang.Object
Implements: Consultingwerk.ISerializable
Inherited by: Consultingwerk.SmartUnit.TestRunner.TestResult Consultingwerk.SmartUnit.TestSuite Consultingwerk.Framework.TypeDescriptor.PropertyDescriptor Consultingwerk.Framework.TypeDescriptor.TypeDescriptor
ABSTRACT SERIALIZABLE USE-WIDGET-POOL

File:XmlSerializable
Purpose:Implements serialization functionality i.e. for parameter
object to be passed around the AppServer boundary
Author(s):Mike Fechner / Consultingwerk Ltd.
Created:Mon Feb 11 13:52:21 CET 2013
Notes:This is a more lightweight XML serializaion as the
Consultingwerk.Serializable and it's also supposed to
provide compatibility with the .NET XML serializer



Top Method Summary
Options Name Purpose
# AddSerializableProperties () Adds serializable properties from the calling class using ABL reflection. Supported from OpenEdge 11.6 on only.
# AddSerializableProperties (character) Add a list of Serializable Properties to the SerializableProperties property
# AddSerializableProperties (Class) Adds serializable properties from the given class using ABL reflection. Supported from OpenEdge 11.6 on only.
+ Deserialize (longchar) Initializes the object instance based on the passed in LONGCHAR representation of the object instance
+ DeserializeFromNode (handle) Deserializes the object instance based on the passed in X-NODEREF instance
# DeserializeProperty (handle, character, character) Deserializes a single property value to the current Object
# CHARACTER PropertyType (character) Returns the type of a property
+ LONGCHAR Serialize () Returns an LONGCHAR representation of the object instance
+ Serialize (handle) Serializes the properties of the current object instance to an existing X-NODEREF object
+ Serialize (handle, character) Serializes the properties of the current object instance to an existing X-NODEREF object
+ SerializeProperties (handle) Serializes the properties of this object instance as child nodes of the given node
# SerializeProperty (handle, character, character) Serializes a single property value to the current parent XmlNode
+ LONGCHAR WriteXml () Returns an LONGCHAR representation of the object instance

Top Property Summary
Options Name Purpose
- CHARACTER SerializableProperties
+ LOGICAL SerializeEmptyLists
+ LOGICAL SerializeNullValues
+ LOGICAL UseSerializedTypeInformation


Method Detail
Top

PROTECTED AddSerializableProperties ()

Purpose: Adds serializable properties from the calling class using ABL reflection.
Supported from OpenEdge 11.6 on only.
Notes: Adds properties of the following types, does not add properties of
the base classes, adds only PUBLIC properties:
- CHARACTER
- CHARACTER EXTENT
- DATE
- DATE EXTENT
- DATETIME
- DATETIME EXTENT
- DATETIME-TZ
- DATETIME-TZ EXTENT
- DECIMAL
- DECIMAL EXTENT
- INT64
- INT64 EXTENT
- INTEGER
- INTEGER EXTENT
- LOGICAL
- LOGICAL EXTENT
- LONGCHAR
- LONGCHAR EXTENT
- RAW
- RAW EXTENT
- RECID
- RECID EXTENT
- ROWID
- ROWID EXTENT
- ENUM
- Consultingwerk.Enum
- Consultingwerk.XmlSerializable
- Consultingwerk.Framework.Base.IEnumerable

Top

PROTECTED AddSerializableProperties (character)

Purpose: Add a list of Serializable Properties to the SerializableProperties property
Notes: Required as a workaround to full reflection only. We *may* remove this
method once Progress Software has implemented full reflection

Parameters:
pcSerializableProperties CHARACTER
A comma delimited list of serializable properties
Top

PROTECTED AddSerializableProperties (Class)

Purpose: Adds serializable properties from the given class using ABL reflection.
Supported from OpenEdge 11.6 on only.
Notes: Adds properties of the following types, does not add properties of
the base classes, adds only PUBLIC properties:
- CHARACTER
- CHARACTER EXTENT
- DATE
- DATE EXTENT
- DATETIME
- DATETIME EXTENT
- DATETIME-TZ
- DATETIME-TZ EXTENT
- DECIMAL
- DECIMAL EXTENT
- INT64
- INT64 EXTENT
- INTEGER
- INTEGER EXTENT
- LOGICAL
- LOGICAL EXTENT
- LONGCHAR
- LONGCHAR EXTENT
- RAW
- RAW EXTENT
- RECID
- RECID EXTENT
- ROWID
- ROWID EXTENT
- ENUM
- Consultingwerk.Enum
- Consultingwerk.Framework.Base.IEnumerable
- Consultingwerk.XmlSerializable

Parameters:
poClass Progress.Lang.Class
The declaring class
Top

PUBLIC Deserialize (longchar)

Purpose: Initializes the object instance based on the passed in LONGCHAR
representation of the object instance
Notes:

Parameters:
pcSerializedReprasentation LONGCHAR
The stored LONGCHAR representation of the objects data
Top

PUBLIC DeserializeFromNode (handle)

Purpose: Deserializes the object instance based on the passed in X-NODEREF
instance
Notes:

Parameters:
phRootNode HANDLE
The root node with the properties for this object
Top

PROTECTED DeserializeProperty (handle, character, character)

Purpose: Deserializes a single property value to the current Object
Notes: Allows to override the handling of individual properties during the
XmlSerialization
Notes:

Parameters:
phPropertyNode HANDLE
reference to the source XML Node
pcProperty CHARACTER
The name of the property
pcType CHARACTER
The type of the property
Top

PROTECTED CHARACTER PropertyType (character)

Purpose: Returns the type of a property
Notes: Throws an error, when the property is unknown

Parameters:
pcProperty CHARACTER
The name of the property
Returns CHARACTER
The type of the property
Top

PUBLIC LONGCHAR Serialize ()

Purpose: Returns an LONGCHAR representation of the object instance
Notes:

Returns LONGCHAR
The LONGCHAR representation of the ISerializable objects data
Top

PUBLIC Serialize (handle)

Purpose: Serializes the properties of the current object instance to
an existing X-NODEREF object
Notes:

Parameters:
phParent HANDLE
The reference to the parent XML Node or Document
Top

PUBLIC Serialize (handle, character)

Purpose: Serializes the properties of the current object instance to
an existing X-NODEREF object
Notes:

Parameters:
phParent HANDLE
The reference to the parent XML Node or Document
pcNodeName CHARACTER
The name of the XML Node
Top

PUBLIC SerializeProperties (handle)

Purpose: Serializes the properties of this object instance as child nodes of
the given node
Notes:

Parameters:
phObjectNode HANDLE
The reference to the X-NODEREF object that represents the node for the current instance
Top

PROTECTED SerializeProperty (handle, character, character)

Purpose: Serializes a single property value to the current parent XmlNode
Notes: Allows to override the handling of individual properties during the
XmlSerialization

Parameters:
phParentNode HANDLE
The reference to the parent XML Node
pcProperty CHARACTER
The name of the property in the JsonObject
pcType CHARACTER
The type of the property
Top

PUBLIC LONGCHAR WriteXml ()

Purpose: Returns an LONGCHAR representation of the object instance
Notes: This method is a facade to the XmlSerializable:Serialize method

Returns LONGCHAR
The LONGCHAR representation of the ISerializable objects data


Property Detail
Top

PRIVATE CHARACTER SerializableProperties


Returns CHARACTER
Top

PUBLIC LOGICAL SerializeEmptyLists


Returns LOGICAL
Top

PUBLIC LOGICAL SerializeNullValues


Returns LOGICAL
Top

PUBLIC LOGICAL UseSerializedTypeInformation


Returns LOGICAL


©2006-2020 Consultingwerk Ltd.         info@consultingwerk.de         http://www.consultingwerk.de       04.02.2020 23:41:26