Namespace: Consultingwerk
Class 
JsonSerializable Copy to Clipboard
Parent classes:
Inherits: Progress.Lang.Object
Implements: Consultingwerk.IJsonSerializable
Inherited by: Consultingwerk.Studio.Proparse.SourceCodeLocationParameter Consultingwerk.Util.Error132Info Consultingwerk.Util.HttpStatus Consultingwerk.Util.LoggingStream.SerializableLongcharLoggingStream Consultingwerk.Web.Kendo.Data.DataSource Consultingwerk.Web.Kendo.Data.Filter Consultingwerk.Web.Kendo.Data.JsdoTransport Consultingwerk.Web.Kendo.Data.Model Consultingwerk.Web.Kendo.Data.Schema Consultingwerk.Web.Kendo.Data.Sort Consultingwerk.Web.Kendo.Data.Transport Consultingwerk.Web.Kendo.Grid.Attributes Consultingwerk.Web.Kendo.Grid.Column Consultingwerk.Web.Kendo.Grid.Editable Consultingwerk.Web.Kendo.Grid.Filterable Consultingwerk.Web.Kendo.Grid.FilterOperators Consultingwerk.Web.Kendo.Grid.FilterOperatorsDate Consultingwerk.Web.Kendo.Grid.FilterOperatorsNumber Consultingwerk.Web.Kendo.Grid.FilterOperatorsString Consultingwerk.Web.Kendo.Grid.KendoGrid Consultingwerk.Web.Kendo.Grid.Pageable Consultingwerk.Web.Kendo.JavaScriptReference Consultingwerk.Web.Kendo.Data.DataSourceJavaScriptReference Consultingwerk.Web.Kendo.Data.ErrorJavaScriptReference Consultingwerk.Web.Kendo.Data.TransportJavaScriptReference Consultingwerk.Web.KendoUiBuilder.MetaDataObject Consultingwerk.Web.KendoUiBuilder.DataProvider.DataProvider Consultingwerk.Web.KendoUiBuilder.DataProvider.DataSource Consultingwerk.Web.KendoUiBuilder.Module.DataGrid Consultingwerk.Web.KendoUiBuilder.Module.DataGridForm Consultingwerk.Web.KendoUiBuilder.Module.DataGridSeparateForm Consultingwerk.Web.KendoUiBuilder.Module.Module Consultingwerk.Web.KendoUiBuilder.Module.View Consultingwerk.Web.KendoUiBuilder.SimpleMetaDataObject Consultingwerk.Web.KendoUiBuilder.DataProvider.Field Consultingwerk.Web.KendoUiBuilder.DataProvider.Relation Consultingwerk.Web.KendoUiBuilder.DataProvider.RelationFieldPair Consultingwerk.Web.KendoUiBuilder.Module.Column Consultingwerk.Web.KendoUiBuilder.Module.CustomDataGridSections Consultingwerk.Web.KendoUiBuilder.Module.DataGridEvents Consultingwerk.Web.KendoUiBuilder.Module.Field Consultingwerk.Web.KendoUiBuilder.Module.Thumbnail Consultingwerk.Web.KendoUiBuilder.Module.ViewEvents Consultingwerk.Web2.Services.Push.JsonPushNotification Consultingwerk.Windows.ListAndLabel.ReportBuffer Consultingwerk.Windows.ListAndLabel.ReportDefinition Consultingwerk.SmartFramework.Repository.FetchRepositoryObjectParameter Consultingwerk.SmartFramework.Repository.Object.FindObjectMasterWithAttributeValuesParameter Consultingwerk.SmartFramework.Repository.Object.GetObjectMasterDesignDataParameter Consultingwerk.SmartFramework.Repository.Object.MovePageParameter Consultingwerk.SmartFramework.Repository.Object.ObjectIsAParameter Consultingwerk.SmartFramework.Repository.ReplaceObjectInstanceParameter Consultingwerk.SmartFramework.RunProcedureCallParameter Consultingwerk.SmartFramework.Scheduler.BusinessTaskSchedulerJobCommand Consultingwerk.SmartFramework.Scheduler.CleanupJobStatusParameter Consultingwerk.SmartFramework.Scheduler.CleanupSchedulerJobCommand Consultingwerk.SmartFramework.Scheduler.GetBusinessTaskMethodsParameter Consultingwerk.SmartFramework.Scheduler.GetNextAvailableJobStatusParameter Consultingwerk.SmartFramework.Scheduler.ProcedureParameterObject Consultingwerk.SmartFramework.Scheduler.ProcedureSchedulerJobCommand Consultingwerk.SmartFramework.Scheduler.ScheduleJobResponse Consultingwerk.SmartFramework.Scheduler.ScheduleNextJobStatusParameter Consultingwerk.SmartFramework.Scheduler.SetJobStatusParameter Consultingwerk.SmartFramework.Scheduler.ShellCommandSchedulerJobCommand Consultingwerk.SmartComponents.Tools.OERABusinessEntityTester.BatchContext Consultingwerk.SmartFramework.Authentication.AuthenticationParameter Consultingwerk.SmartFramework.Authentication.ChangePasswordParameter Consultingwerk.SmartFramework.Authentication.GetUserGroupAssignmentsParameter Consultingwerk.SmartFramework.Authorization.AssignAuthorizationParameter Consultingwerk.SmartFramework.Authorization.AuthorizationMaintenanceServiceParameter Consultingwerk.SmartFramework.Authorization.CanFindSecurityAssignmentParameter Consultingwerk.SmartFramework.Authorization.GetGroupRestrictedDefaultLevelParameter Consultingwerk.SmartFramework.Authorization.GetParentGroupsParameter Consultingwerk.SmartFramework.Authorization.GetUserRestrictedDefaultLevelParameter Consultingwerk.SmartFramework.Authorization.IsRestrictedCheckParameter Consultingwerk.SmartFramework.Authorization.IsRestrictedCheckParameter2 Consultingwerk.SmartFramework.Authorization.IsRestrictedParameter Consultingwerk.BusinessEntityDesigner.Services.OpenSaveParameter Consultingwerk.BusinessEntityDesigner.Services.VerifyModifiedParameter Consultingwerk.NameValuePair Consultingwerk.BusinessEntityDesigner.Validation.BaseValidationProperties Consultingwerk.BusinessEntityDesigner.Validation.BaseComparisonValidationProperties Consultingwerk.BusinessEntityDesigner.Validation.EqualValidationProperties Consultingwerk.BusinessEntityDesigner.Validation.GreaterOrEqualValidationProperties Consultingwerk.BusinessEntityDesigner.Validation.GreaterThanValidationProperties Consultingwerk.BusinessEntityDesigner.Validation.LessOrEqualValidationProperties Consultingwerk.BusinessEntityDesigner.Validation.LessThanValidationProperties Consultingwerk.BusinessEntityDesigner.Validation.NotEqualValidationProperties Consultingwerk.BusinessEntityDesigner.Validation.CanFindValidationProperties Consultingwerk.BusinessEntityDesigner.Validation.IsEmptyValidationProperties Consultingwerk.BusinessEntityDesigner.Validation.IsInListValidationProperties Consultingwerk.BusinessEntityDesigner.Validation.IsInRangeValidationProperties Consultingwerk.BusinessEntityDesigner.Validation.IsNotRestrictedValidationProperties Consultingwerk.BusinessEntityDesigner.Validation.IsValidEmailAddressValidationProperties Consultingwerk.BusinessEntityDesigner.Validation.IsWeekdayValidationProperties Consultingwerk.BusinessEntityDesigner.Validation.MandatoryValidationProperties Consultingwerk.BusinessEntityDesigner.Validation.MaxLengthValidationProperties Consultingwerk.BusinessEntityDesigner.Validation.MinLengthValidationProperties Consultingwerk.BusinessEntityDesigner.Validation.NotCanFindValidationProperties Consultingwerk.BusinessEntityDesigner.Validation.ReadOnlyValidationProperties Consultingwerk.CanDoQueryExpression Consultingwerk.CharacterArrayHolder Consultingwerk.CharacterHolder Consultingwerk.Util.MessageSubSystem Consultingwerk.SmartFramework.Authorization.SecurityRealmParameter Consultingwerk.CharacterRange Consultingwerk.ClassName Consultingwerk.CommonUi.Components.TreeView.SerializableTreeNode Consultingwerk.CommonUi.Components.TreeView.SerializableTreeRootNode Consultingwerk.CommonUi.Components.TreeView.SerializableTreeNodeDetailSpec Consultingwerk.DateArrayHolder Consultingwerk.DateFormat Consultingwerk.DateHolder Consultingwerk.DateTimeArrayHolder Consultingwerk.DateTimeHolder Consultingwerk.DateTimeTzArrayHolder Consultingwerk.DateTimeTzHolder Consultingwerk.DecimalArrayHolder Consultingwerk.DecimalHolder Consultingwerk.Windows.Framework.Repository.DynamicLauncher.DynamicLauncherParameter Consultingwerk.Windows.Framework.Repository.Object.OpenObjectMasterDialogValues Consultingwerk.Windows.Framework.WebUriCallParameter Consultingwerk.NumericFormat Consultingwerk.Framework.MessageInteraction.Question Consultingwerk.Framework.RepositoryServices.RepositoryTaskParameter Consultingwerk.Framework.RepositoryServices.SmartBusinessEntityLookupDescriptor Consultingwerk.Framework.SerializableParameterWithSimpleResult Consultingwerk.Framework.SmtpConfiguration Consultingwerk.Framework.TypeDescriptor.ClassAnnotationContainer Consultingwerk.Framework.TypeDescriptor.SerializableAnnotation Consultingwerk.Framework.TypeDescriptor.SerializableClassMemberAnnotation Consultingwerk.HandleArrayHolder Consultingwerk.InQueryExpression Consultingwerk.Int64ArrayHolder Consultingwerk.Int64Holder Consultingwerk.IntegerArrayHolder Consultingwerk.IntegerHolder Consultingwerk.LogicalArrayHolder Consultingwerk.LogicalHolder Consultingwerk.LongcharArrayHolder Consultingwerk.LongcharHolder Consultingwerk.MemptrArrayHolder Consultingwerk.MemptrHolder Consultingwerk.BufferFieldName Consultingwerk.BusinessEntityDesigner.Generator.Generated Consultingwerk.BusinessEntityDesigner.Generator.TelerikMobile.Column Consultingwerk.BusinessEntityDesigner.Generator.Viewer.ControlGeneratorFactoryParameter Consultingwerk.BusinessEntityDesigner.Generator.Viewer.ViewerFieldSpec Consultingwerk.ObjectArrayHolder Consultingwerk.OERA.BusinessEntityDescriptor.BusinessEntityDescriptor Consultingwerk.OERA.BusinessEntityDescriptor.BusinessEntityFieldDescriptor Consultingwerk.OERA.BusinessEntityDescriptor.BusinessEntityTableDescriptor Consultingwerk.OERA.BusinessEntityDescriptor.BusinessEntityViewDescriptor Consultingwerk.OERA.BusinessEntityDescriptor.GetBusinessEntityDescriptorParameter Consultingwerk.OERA.BusinessEntityDescriptor.InvokableMethodDescriptor Consultingwerk.OERA.CanFindParameter Consultingwerk.OERA.DataSourceInfo Consultingwerk.OERA.DataSourceQueryInfo Consultingwerk.OERA.FetchDataRequest Consultingwerk.OERA.CountRecordsRequest Consultingwerk.OERA.FilterParameter Consultingwerk.OERA.GetInitialValuesParameter Consultingwerk.OERA.NamedQueryParameter Consultingwerk.Util.ClassHelper.ClassNamesInClassPathNamedQuery Consultingwerk.SmartFramework.Repository.Object.ObjectsOfObjectTypesQuery Consultingwerk.SmartFramework.Repository.Object.ObjectsWithAttributeValueQuery Consultingwerk.OERA.NamedQueryParameterEntry Consultingwerk.OERA.RestAdapter.RestServletRequest Consultingwerk.OERA.RestResource.RestMethod Consultingwerk.OERA.SmartUiAction Consultingwerk.OERA.ValidateDataContext Consultingwerk.OERA.ValidationMessages.ValidationMessage Consultingwerk.ParameterObject Consultingwerk.Studio.Protop.ProtopDatabase Consultingwerk.SmartFramework.Repository.Object.CreateInstanceParameter Consultingwerk.SmartFramework.Repository.Object.GetObjectTypeAttributeDefaultValueParameter Consultingwerk.SmartFramework.Authentication.ValidatePasswordParameter Consultingwerk.Windows.Framework.Repository.Object.Conversion.MetaViewerToStaticParameter Consultingwerk.Framework.Server.ValidateAppSeverFrameworkVersionParameter Consultingwerk.SmartFramework.Repository.AnnotationBasedFormParameter Consultingwerk.Studio.LegacyCodeMigration.MethodReference Consultingwerk.Point Consultingwerk.QueryExpression Consultingwerk.SmartFramework.Authorization.SecurityRealmLookupParameter Consultingwerk.SmartFramework.Authorization.VerifySecurityItemGuidParameter Consultingwerk.SmartFramework.GetDatabaseNamesResult Consultingwerk.SmartFramework.GetMenuStructureParameter Consultingwerk.SmartFramework.InvokeServiceMethodCallParameter Consultingwerk.SmartFramework.InvokeStaticMethodCallParameter Consultingwerk.SmartFramework.Lock.DeleteExpiredLocksJobCommand Consultingwerk.SmartFramework.Menu.MoveMenuStructureParameter Consultingwerk.SmartFramework.Message Consultingwerk.SmartFramework.Repository.AttributeValue Consultingwerk.SmartFramework.Repository.Class.ClassIsAParameter Consultingwerk.SmartFramework.Repository.Class.CopyInstanceAttributesParameter Consultingwerk.SmartFramework.Repository.Class.GetChildClassesParameter Consultingwerk.SmartFramework.Repository.Class.GetObjectInstanceDesignAttributesParameter Consultingwerk.SmartFramework.Repository.Class.GetObjectInstancesDesignAttributesParameter Consultingwerk.SmartFramework.Repository.Class.GetObjectMasterAttributeValueParameter Consultingwerk.SmartFramework.Repository.Class.GetObjectMasterDesignAttributeParameter Consultingwerk.SmartFramework.Repository.Class.GetObjectMasterDesignAttributesParameter Consultingwerk.SmartFramework.Repository.Class.GetObjectTypeDesignAttributeParameter Consultingwerk.SmartFramework.Repository.Class.GetObjectTypeDesignAttributesParameter Consultingwerk.SmartFramework.Repository.Class.GetParentClassesParameter Consultingwerk.SmartFramework.Repository.Class.StoreObjectInstanceDesignAttributeParameter Consultingwerk.SmartFramework.Repository.Class.StoreObjectMasterDesignAttributeParameter Consultingwerk.SmartFramework.Repository.Class.StoreObjectTypeDesignAttributeParameter Consultingwerk.SmartFramework.Repository.CopyObjectMasterParameter Consultingwerk.SmartFramework.Repository.CreateObjectMasterParameter Consultingwerk.RollbaseAdapter.RollbaseCredentials Consultingwerk.RowidArrayHolder Consultingwerk.RowidHolder Consultingwerk.SessionInfo Consultingwerk.SmartFramework.Tools.ErdApi.ZamolxisField Consultingwerk.SmartFramework.Tools.ErdApi.ZamolxisIndex Consultingwerk.SmartFramework.Tools.ErdApi.ZamolxisRelation Consultingwerk.SmartUnit.OERA.RetrieveDataScenario.Scenario Consultingwerk.Studio.ExtractClassAnnotations.ExtractClassAnnotationsParameter Consultingwerk.Studio.LegacyGuiMigration.Browse.BrowseSettings Consultingwerk.Studio.LegacyGuiMigration.Frame.ViewerSettings Consultingwerk.SmartFramework.Scheduler.UpdateJobStatusParameter Consultingwerk.SmartFramework.System.CacheTranslationParameter Consultingwerk.SmartFramework.System.GetMessageParameter Consultingwerk.SmartFramework.System.GetMissingDatabaseRelationsParameter Consultingwerk.SmartFramework.System.GetTranslationByKeyParameter Consultingwerk.SmartFramework.System.GetTranslationByStringParameter Consultingwerk.SmartFramework.System.GetValueListEntryByKeyParameter Consultingwerk.SmartFramework.System.ImportDatabaseTablesParameter Consultingwerk.SmartFramework.System.MissingMessageParameter Consultingwerk.SmartFramework.System.SmartBusinessEntityConfiguration Consultingwerk.SmartFramework.System.SmartBusinessEntityTableConfiguration Consultingwerk.Web2.SmartFramework.Language.SerializableSmartLanguage Consultingwerk.Web2.SmartFramework.Menu.LaunchWebViewCallParameter Consultingwerk.Web2.SmartFramework.Menu.SerializableMenuItem Consultingwerk.Web2.SmartFramework.Message.SerializableSmartMessage Consultingwerk.Web2.Views.SerializableLayoutElement Consultingwerk.Web2.Views.SerializableDataSourceElement Consultingwerk.Web2.Views.SerializableGridElement Consultingwerk.Web2.Views.SerializableTabElement Consultingwerk.Web2.Views.SerializableTabFolderElement Consultingwerk.Web2.Views.SerializableToolbarElement Consultingwerk.Web2.Views.SerializableViewerElement Consultingwerk.Web2.Views.SerializableToolbarGroup Consultingwerk.Web2.Views.SerializableToolbarItem Consultingwerk.Windows.Framework.LaunchAnnotationFormCallParameter Consultingwerk.Windows.Framework.LaunchFormCallParameter
ABSTRACT

File:JsonSerializable
Purpose:Implements serialization functionality i.e. for parameter
object to be passed around the AppServer boundary
Description:Serialization based on the JSON object model (OpenEdge 11.0)
Author(s):Mike Fechner / Consultingwerk Ltd.
Created:Wed Sep 15 18:25:22 CEST 2010
Notes:See comments in Consultingwerk/JsonSerializableProperty.i
for usage instructions
This class also supports XML output - which is used for
migrating SmartFramework data (e.g. menu functions) from
JSON to XML



Top Method Summary
Options Name Purpose
# AddSerializableProperties (character) Add a list of Serializable Properties to the SerializableProperties property
+ Deserialize (longchar) Deserializes a LONGCHAR representation of the state of the class instance
+ DeserializeFromJsonObject (JsonObject) Initializes the object instance based on the passed in JsonObject representation of the object instance
# DeserializeProperty (JsonObject, character, character) Deserializes a single property value to the current JsonObject
+ CHARACTER GetSerializableProperties () Returns the meta data of the serializable properties
+ LONGCHAR Serialize () Returns a LONGCHAR representation of the state of the class instance
# SerializeProperty (JsonObject, character, character) Serializes a single property value to the current JsonObject
+ Progress.Json.ObjectModel.JsonObject ToJsonObject () Returns a JsonObject representation of the state of the class instance
+ LONGCHAR WriteJson () Returns a LONGCHAR representation of the state of the class instance
+ LONGCHAR WriteXml () Returns an XML LONGCHAR representation of the object instance
+ HANDLE XmlSerialize (handle) Serializes the properties of the current object instance to an existing X-NODEREF object
+ XmlSerializeProperties (handle) Serializes the properties of this object instance as child nodes of the given node
# XmlSerializeProperty (handle, character, character) Serializes a single property value to the current parent XmlNode

Top Property Summary
Options Name Purpose
+ Consultingwerk.IJsonDateTypeFormatter JsonDateTypeFormatter
- CHARACTER SerializableProperties
+ LOGICAL SerializeEmptyLists
+ LOGICAL SerializeNullValues
+ LOGICAL UseSerializedTypeInformation


Method Detail
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

PUBLIC Deserialize (longchar)

Purpose: Deserializes a LONGCHAR representation of the state of the class instance
Notes:

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

PUBLIC DeserializeFromJsonObject (JsonObject)

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

Parameters:
poJsonObject Progress.Json.ObjectModel.JsonObject
The stored JsonObject representation of the objects data
Top

PROTECTED DeserializeProperty (JsonObject, character, character)

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

Parameters:
poJsonObject Progress.Json.ObjectModel.JsonObject
The reference to the source JsonObject
pcProperty CHARACTER
The name of the property in the JsonObject
pcType CHARACTER
The type of the property
Top

PUBLIC CHARACTER GetSerializableProperties ()

Purpose: Returns the meta data of the serializable properties
Notes:

Returns CHARACTER
The serializable properties meta data as a comma delimited list
Top

PUBLIC LONGCHAR Serialize ()

Purpose: Returns a LONGCHAR representation of the state of the class instance
Notes: Returns the classname together with the Json serialization

Returns LONGCHAR
The LONGCHAR representation of the ISerializable objects data
Top

PROTECTED SerializeProperty (JsonObject, character, character)

Purpose: Serializes a single property value to the current JsonObject
Notes: Allows to override the handling of individual properties during the
JsonSerialization

Parameters:
poJsonObject Progress.Json.ObjectModel.JsonObject
The reference to the target JsonObject
pcProperty CHARACTER
The name of the property in the JsonObject
pcType CHARACTER
The type of the property
Top

PUBLIC Progress.Json.ObjectModel.JsonObject ToJsonObject ()

Purpose: Returns a JsonObject representation of the state of the class instance
Notes: Returns the classname together with the Json serialization of the
object

Returns Progress.Json.ObjectModel.JsonObject
The Progress.Json.ObjectModel.JsonObject representation of the ISerializable objects data
Top

PUBLIC LONGCHAR WriteJson ()

Purpose: Returns a LONGCHAR representation of the state of the class instance
Notes: Returns the classname together with the Json serialization
This method is a facade to the JsonSerializable:Serialize method

Returns LONGCHAR
The LONGCHAR representation of the ISerializable objects data
Top

PUBLIC LONGCHAR WriteXml ()

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

Returns LONGCHAR
The LONGCHAR representation of the ISerializable objects data
Top

PUBLIC HANDLE XmlSerialize (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
Returns HANDLE
The X-NODEREF with the properties of the serialized object
Top

PUBLIC XmlSerializeProperties (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 XmlSerializeProperty (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


Property Detail
Top

PUBLIC Consultingwerk.IJsonDateTypeFormatter JsonDateTypeFormatter


Returns Consultingwerk.IJsonDateTypeFormatter
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:12:49