{ "type": "class",
  "qname": "org.apache.royale.textLayout.property.Property",
  "baseClassname": ""
  ,
    "description": "Base class of property metadata.  Each property in the various TextLayout attributes structures has a metadata singletion Property class instance.  The instance can be used to process the property to and from xml, find out range information and help with the attribute cascade.  The Property class also contains static functions",
  "members": [
  { "type": "field",
        "qname": "_handlers",
        "return": "Vector.<org.apache.royale.textLayout.property.PropertyHandler>",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "method",
        "qname": "org.apache.royale.textLayout.property.Property",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Initializer.  Each property has a name and a default.",
          "return": "",
          "params": [{ "name": "nameValue", "type": "String"},
        { "name": "defaultValue", "type": "*"},
        { "name": "inherited", "type": "Boolean"},
        { "name": "categories", "type": "Vector.<String>"}]}
      ,
      { "type": "accessor",
        "access": "read-only",
        "return": "String",
        "qname": "name",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The name of the property"},
      { "type": "accessor",
        "access": "read-only",
        "return": "*",
        "qname": "defaultValue",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The default value of this property"},
      { "type": "accessor",
        "access": "read-only",
        "return": "Object",
        "qname": "inherited",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Is this property inherited"},
      { "type": "accessor",
        "access": "read-only",
        "return": "String",
        "qname": "category",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "First listed Category of this property. This is the legacy category from when Properties could only be in one category."},
      { "type": "accessor",
        "access": "read-only",
        "return": "Vector.<String>",
        "qname": "categories",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Return the list of categories"},
      { "type": "method",
        "qname": "addHandlers",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "return": "void",
          "params": [{ "name": "rest", "type": "Array"}]}
      ,
      { "type": "method",
        "qname": "findHandler",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "return": "org.apache.royale.textLayout.property.PropertyHandler",
          "params": [{ "name": "handlerClass", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "setHelper",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Helper function when setting the property",
          "return": "*",
          "params": [{ "name": "currVal", "type": "*"},
        { "name": "newVal", "type": "*"}]}
      ,
      { "type": "method",
        "qname": "concatInheritOnlyHelper",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Helper function when merging the property to compute actual attributes",
          "return": "*",
          "params": [{ "name": "currVal", "type": "*"},
        { "name": "concatVal", "type": "*"}]}
      ,
      { "type": "method",
        "qname": "concatHelper",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Helper function when merging the property to compute actual attributes",
          "return": "*",
          "params": [{ "name": "currVal", "type": "*"},
        { "name": "concatVal", "type": "*"}]}
      ,
      { "type": "method",
        "qname": "equalHelper",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Helper function when comparing the property",
          "return": "Boolean",
          "params": [{ "name": "v1", "type": "*"},
        { "name": "v2", "type": "*"}]}
      ,
      { "type": "method",
        "qname": "toXMLString",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Convert the value of this property to a string appropriate for XML export",
          "return": "String",
          "params": [{ "name": "val", "type": "Object"}]}
      ,
      { "type": "accessor",
        "access": "read-only",
        "return": "Number",
        "qname": "maxPercentValue",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "accessor",
        "access": "read-only",
        "return": "Number",
        "qname": "minPercentValue",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "accessor",
        "access": "read-only",
        "return": "Number",
        "qname": "minValue",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "accessor",
        "access": "read-only",
        "return": "Number",
        "qname": "maxValue",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "method",
        "qname": "computeActualPropertyValue",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "return": "Number",
          "params": [{ "name": "propertyValue", "type": "Object"},
        { "name": "percentInput", "type": "Number"}]}
      ]
  }
