Jump to content
  • Using Property Names with the Spotfire® Document Model Framework API


    This article describes how to use property names with the Spotfire® Document Model Framework API.

    Overview

    This article describes how to use property names with the Spotfire® Document Model Framework API.

    Each custom DocumentNode class must have an inner class called PropertyNames containing identifiers for public and internal properties:

    • If the node class derives from DocumentNode, the class should derive from DocumentNode.PropertyNames.

       

    • If the class derives from a sub class to DocumentNode, the property name class shall derive from

      [DocumentNode sub class].PropertyNames.

    Implementation Pattern

    Suppose we have a sealed document node class Example with the public property Title and the internal property NumberOfTicks, then the PropertyName class is defined as follows:

    public sealed class Example : DocumentNode
    {
        ...
        public new sealed class PropertyNames : DocumentNode.PropertyNames
        {
           public static readonly PropertyName Title = CreatePropertyName("Title");
           internal static readonly PropertyName NumberOfTicks = CreatePropertyName("NumberOfTicks");
        }
        ...
    }
     

    If the class is not sealed, the PropertyNames class should be made abstract. The string that is passed into the PropertyName constructor is used as a key in the serialization of the node and should by convention be the same as the name of the property. That is, it should use Pascal casing.

    If the class contains private properties they should not be added to the PropertyNames class. Instead create a private class called, by convention, PrivatePropertyNames. The class should contain one public static field for each private property.


    User Feedback

    Recommended Comments

    There are no comments to display.


×
×
  • Create New...