{ "type": "class",
  "qname": "mx.charts.chartClasses.Series",
  "baseClassname": "mx.charts.chartClasses.ChartElement"
  ,
    "description": "The Series class is the base class for the classes that let you specify a data series for a chart control. You use the subclasses of the Series class with the associated chart control. You can use a Series class to specify the fill pattern and stroke characteristics for the chart elements that are associated with the data series.",
  "tags": [
  {  "tagName": "playerversion",
         "values": ["Flash 9", "AIR 1.1"]},
      {  "tagName": "productversion",
         "values": ["Flex 3"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "mx.charts.chartClasses.Series",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "mx.charts.chartClasses.DataTransform",
        "qname": "dataTransform",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "inheritDoc",
               "values": []},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Function",
        "qname": "dataFunction",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Specifies a method that returns the value that should be used for positioning the current chart item in the series. If this property is set, the return value of the custom data function takes precedence over the other related properties, such as <code>xField</code> and <code>yField</code> for AreaSeries, BarSeries, BubbleSeries, ColumnSeries, LineSeries, and PlotSeries. For BubbleSeries, the return value takes precedence over the <code>radiusField</code> property. For PieSeries, the return value takes precedence over the <code>field</code> property.  <p>The custom <code>dataFunction</code> for a series has the following signature:  <pre>\\n <i>function_name</i> (series:Series, item:Object, fieldName:String):Object { ... }\\n </pre>  <code>series</code> is the current series that uses this <code>dataFunction</code>. <code>item</code> is the item in the data provider. <code>fieldName</code> is the field in current chart item that is to be populated. This function returns an object. </p>  <p>You typically use the <code>dataFunction</code> property to access fields in a data provider that are not scalar values, but are instead nested in the data provider. For example, the following data requires a data function to access the fields for a chart's data provider:</p>  <pre>\\n {month: &quot;Aug&quot;, close: {High:45.87,Low:12.2}, open:25.19}\\n </pre>  <p>The following example returns a value from this data provider:</p>  <pre>\\n public function myDataFunction(series:Series, item:Object, fieldName:String):Object {\\n if (fieldName == 'yValue')\\n return(item.close.High);\\n else if (fieldName == &quot;xValue&quot;)\\n return(item.month);\\n else\\n return null;\\n }\\n </pre>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Array",
        "qname": "dataTipItems",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Array of chart items for which data tips are to be shown non-interactively on the chart.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "displayName",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The name of the series, for display to the user. This property is used to represent the series in user-visible labels, such as data tips.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "filterDataValues",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "If <code>filterFuction</code> is set, <code>filterDataValues</code> and <code>filterData</code> are ignored.  If <code>filterDataValues</code> property is set to <code>none</code>, series will not filter its data before displaying.  If <code>filterDataValues</code> is set to <code>nulls</code>, series filters data like <code>null</code>, <code>undefined</code>, or <code>NaN</code> before displaying.  If this property is set to <code>outsideRange</code>, series filters its data like <code>null</code>, <code>undefined</code>, or <code>NaN</code> and also the values that are outside the range of the chart axes.  If you know that all of the data in the series is valid, you can set this to <code>none</code> to improve performance.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "filterData",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "If <code>filterFuction</code> or <code>filterDataValues</code> is set, <code>filterData</code> is ignored.  <code>true</code> if the series filters its data before displaying. If a series renders data that contains missing values (such as <code>null</code>, <code>undefined</code>, or <code>NaN</code>), or renders values that are outside the range of the chart axes, this property should be set to <code>true</code> (the default). If you know that all of the data in the series is valid, you can set this to <code>false</code> to improve performance.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Function",
        "qname": "filterFunction",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Specifies a method that returns the array of chart items in the series that are to be displayed.  If this property is set, the return value of the custom filter function takes precedence over the <code>filterDataValues</code> and <code>filterData</code> properties. But if it returns null, then <code>filterDataValues</code> and <code>filterData</code> will be prefered in that order.  <p>The custom <code>filterFunction</code> has the following signature:  <pre>\\n <i>function_name</i> (cache:Array):Array { ... }\\n </pre>  <code>cache</code> is a reference to the array of chart items that are to be filtered. This function returns an array of chart items that are to be displayed. </p>  <pre>\\n public function myFilterFunction(cache:Array):Array {\\n var filteredCache:Array=[];\\n var n:int = cache.length;\\n for(var i:int = 0; i &lt; n; i++)\\n {\\n var item:ColumnSeriesItem = ColumnSeriesItem(cache[i]);\\n if(item.yNumber &gt; 0 &#38;&#38; item.yNumber &lt; 700)\\n {\\n filteredCache.push(item);\\n }\\n }\\n return filteredCache;\\n }\\n </pre>  <p> If you specify a custom filter function for your chart series and you want to filter null values or values outside the range of axes, you must manually filter them using the custom filter function. <code>filterDataValues</code> or <code> filterData</code> cannot be used. </p>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 4"]},
            {  "tagName": "example",
               "values": []},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "interactive",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Determines whether data tips appear when users interact with chart data on the screen. Set to <code>false</code> to prevent the series from showing data tips or generating hit data.",
        "tags": [
        {  "tagName": "default",
               "values": ["true"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "Array",
        "qname": "legendData",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "An Array of LegendData instances that describe the items that should show up in a legend representing this series. Derived series classes override this getter and return legend data that is specific to their styles and data representation method. Although most series types return only a single LegendData instance, some series types, such as PieSeries and  StackedSeries, return multiple instances representing individual items in the Array, or multiple ways of rendering data.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "Object",
        "qname": "renderData",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Stores the information necessary to render this series.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "selectable",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Specifies whether a series is selectable or not.",
        "tags": [
        {  "tagName": "default",
               "values": ["true"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "selectedIndex",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Index of the selected item in the data provider of the series. If multiple items are selected, then this property refers to the most recently selected item.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Array",
        "qname": "selectedIndices",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "An Array of indexes of the selected items in the data provider of the series.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "mx.charts.ChartItem",
        "qname": "selectedItem",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The chart item that is selected in the series. If multiple items are selected, then this property refers to the most recently selected item.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Array",
        "qname": "selectedItems",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "An Array of chart items that are selected in the series.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Object",
        "qname": "transitionRenderData",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "A render data structure passed in by a running transtion. When a series effect is set to play on a series, it first captures the current state of the series by asking for its render data. The transition modifies the render data to create the desired effect and passes the structure back to the series for display. If the <code>transitionRenderData</code> property is a value other than <code>null</code>, a series uses its contents to update its display.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "stylesInitialized",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "Calls the <code>legendDataChanged()</code> method.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "updateDisplayList",
        "namespace": "protected",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "inheritDoc",
               "values": []},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "unscaledWidth", "type": "Number"},
        { "name": "unscaledHeight", "type": "Number"}]}
      ,
      { "type": "method",
        "qname": "setActualSize",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "inheritDoc",
               "values": []},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "w", "type": "Number"},
        { "name": "h", "type": "Number"}]}
      ,
      { "type": "method",
        "qname": "commitProperties",
        "namespace": "protected",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "inheritDoc",
               "values": []},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "claimStyles",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "copy",
               "values": ["mx.charts.chartClasses.IChartElement#claimStyles()"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "uint",
          "params": [{ "name": "styles", "type": "Array"},
        { "name": "firstAvailable", "type": "uint"}]}
      ,
      { "type": "accessor",
        "access": "read-only",
        "return": "Array",
        "qname": "items",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Gets all the items that are there in the series after filtering. <p>Individual series determine the list of items that are to be returned.</p>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "return",
               "values": ["An Array of ChartItems."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "getItemsInRegion",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Gets all the items that are in a rectangular region for the series. Call this function to determine what items are in a particular rectangular region in that series. <p>Individual series determine whether their chart item is under the region. The point should be in the global coordinate space.</p>",
        "tags": [
        {  "tagName": "see",
               "values": ["flash.geom.Rectangle"]},
            {  "tagName": "param",
               "values": ["value A Rectangle object that defines the region."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "return",
               "values": ["An Array of ChartItem objects that are within the specified rectangular region."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Array",
          "params": [{ "name": "r", "type": "org.apache.royale.geom.Rectangle"}]}
      ,
      { "type": "method",
        "qname": "cacheDefaultValues",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Caches the values stored in the <code>measureName</code> property from the original dataProvider items in the chart item's <code>fieldName</code> property. If the the value of the <code>measureName</code> property is <code>null</code> or the empty string, this method assumes the original data provider items are raw values and caches them instead.  by a value from the dataProvider based on the <code>fieldName</code> property. For example, <code>measureName</code> can be the xValue, yValue, xNumber, yNumber, etc, provided they are properties of the chart item.   used to set the chart item's <code>measureName</code> property. For example, if the data provider has an item like <code>{Country:&quot;US&quot;, medals:10}</code>, then the value of <code>fieldName</code> can be &quot;Country&quot; or &quot;medals&quot;.  is the empty string or null; otherwise <code>true</code>.",
        "tags": [
        {  "tagName": "param",
               "values": ["measureName Name of the property of chart item whose value should be set", "cache An array of chart items.", "fieldName The label (in the data provider's item) whose value should be"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "return",
               "values": ["<code>false</code> if the value of the <code>measureName</code> property"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Boolean",
          "params": [{ "name": "measureName", "type": "String"},
        { "name": "cache", "type": "Array"},
        { "name": "fieldName", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "cacheNamedValues",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Caches the values stored in the <code>measureName</code> property from the original dataProvider items in the chart item's <code>fieldName</code> property.  by a value from the dataProvider based on the <code>fieldName</code> property. For example, <code>measureName</code> can be the xValue, yValue, xNumber, yNumber, etc, provided they are properties of the chart item.   used to set the chart item's <code>measureName</code> property. For example, if the data provider has an item like <code>{Country:&quot;US&quot;, medals:10}</code>, then the value of <code>fieldName</code> can be &quot;Country&quot; or &quot;medals&quot;.  is the empty string or null; otherwise <code>true</code>.",
        "tags": [
        {  "tagName": "param",
               "values": ["measureName Name of the property of chart item whose value should be set", "cache An array of chart items.", "fieldName The label (in the data provider's item) whose value should be"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "return",
               "values": ["<code>false</code> if the value of the <code>measureName</code> property"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Boolean",
          "params": [{ "name": "measureName", "type": "String"},
        { "name": "cache", "type": "Array"},
        { "name": "fieldName", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "cacheIndexValues",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Caches the values stored in the <code>measureName</code> property from the original dataProvider items in the chart item's <code>fieldName</code> property. If the <code>measureName</code> property is <code>null</code> or the empty string, this method stores the index of the items in the <code>fieldName</code> property instead.  by a value from the dataProvider based on the <code>fieldName</code> property. For example, <code>measureName</code> can be the xValue, yValue, xNumber, yNumber, etc, provided they are properties of the chart item.   used to set the chart item's <code>measureName</code> property. For example, if the data provider has an item like <code>{Country:&quot;US&quot;, medals:10}</code>, then the value of <code>fieldName</code> can be &quot;Country&quot; or &quot;medals&quot;.  is the empty string or null; otherwise <code>true</code>.",
        "tags": [
        {  "tagName": "param",
               "values": ["measureName Name of the property of chart item whose value should be set", "cache An array of chart items.", "fieldName The label (in the data provider's item) whose value should be"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "return",
               "values": ["<code>false</code> if the value of the <code>measureName</code> property"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Boolean",
          "params": [{ "name": "measureName", "type": "String"},
        { "name": "cache", "type": "Array"},
        { "name": "fieldName", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "extractMinMax",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Extracts the minimum value, maximum value, and, optionally, the minimum interval from an Array of ChartItem objects. Derived classes can call this method from their implementations of the <code>describeData()</code> method to fill in the details of the DataDescription structure.   by a value from the dataProvider based on the <code>fieldName</code> property. For example, <code>measureName</code> can be the xValue, yValue, xNumber, yNumber, etc, provided they are properties of the chart item.  as <code>min</code>, <code>max</code>, and <code>minInterval</code> of the series.  DataDescription <code>desc</code> by using the ChartItem objects in the <code>cache</code> property.",
        "tags": [
        {  "tagName": "param",
               "values": ["cache An array of chart items.", "measureName Name of the property of chart item whose value should be set", "desc DataDescription object of the series. This property holds bounded values such", "calculateInterval Determines whether to extract the <code>minInterval</code> for the"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "cache", "type": "Array"},
        { "name": "measureName", "type": "String"},
        { "name": "desc", "type": "mx.charts.chartClasses.DataDescription"},
        { "name": "calculateInterval", "type": "Boolean"}]}
      ,
      { "type": "method",
        "qname": "extractMinInterval",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Extracts the minimum value, maximum value, and, optionally, the minimum interval from an Array of ChartItem objects. Derived classes can call this method from their implementations of the <code>describeData()</code> method to fill in the details of the DataDescription structure.   by a value from the dataProvider based on the <code>fieldName</code> property. For example, <code>measureName</code> can be the xValue, yValue, xNumber, yNumber, etc, provided they are properties of the chart item.  as <code>min</code>, <code>max</code>, and <code>minInterval</code> of the series.",
        "tags": [
        {  "tagName": "param",
               "values": ["cache An array of chart items.", "measureName Name of the property of chart item whose value should be set", "desc DataDescription object of the series. This property holds bounded values such"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "cache", "type": "Array"},
        { "name": "measureName", "type": "String"},
        { "name": "desc", "type": "mx.charts.chartClasses.DataDescription"}]}
      ,
      { "type": "method",
        "qname": "stripNaNs",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Removes any item from the provided cache whose <code>field</code> property is <code>NaN</code>. Derived classes can call this method from their implementation of the <code>updateFilter()</code> method to remove any ChartItem objects that were filtered out by the axes.",
        "tags": [
        {  "tagName": "param",
               "values": ["cache An array of chart items.", "field The field property to remove an item from."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "cache", "type": "Array"},
        { "name": "field", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "invalidateData",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Informs the series that the underlying data in the data provider has changed. This function triggers calls to the <code>updateData()</code>, <code>updateMapping()</code>, <code>updateFilter()</code>, and <code>updateTransform()</code> methods on the next call to the <code>commitProperties()</code> method. If any data effects are assigned to any elements of the chart, this method also triggers the show and hide effects.  to the update methods.",
        "tags": [
        {  "tagName": "param",
               "values": ["invalid If <code>true</code>, this method triggers calls"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "invalid", "type": "Boolean"}]}
      ,
      { "type": "method",
        "qname": "invalidateMapping",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Informs the series that the mapping of the data into numeric values has changed and must be recalculated. Calling this function triggers calls to the <code>updateMapping()</code>, <code>updateFilter()</code>, and <code>updateTransform()</code> methods on the next call to the <code>commitProperties()</code> method. If any data effects are assigned to any elements of the chart, this method also triggers the show and hide effects.  to the update methods.",
        "tags": [
        {  "tagName": "param",
               "values": ["invalid If <code>true</code>, this method triggers calls"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "invalid", "type": "Boolean"}]}
      ,
      { "type": "method",
        "qname": "invalidateFilter",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Informs the series that the filter of the data against the axes has changed and must be recalculated. Calling this method triggers calls to the <code>updateFilter()</code> and <code>updateTransform()</code> methods on the next call to the <code>commitProperties()</code> method. If any data effects are assigned to any elements of the chart, this method also triggers the show and hide effects.  to the update methods.",
        "tags": [
        {  "tagName": "param",
               "values": ["invalid If <code>true</code>, this method triggers calls"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "invalid", "type": "Boolean"}]}
      ,
      { "type": "method",
        "qname": "invalidateTransform",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Informs the series that the transform of the data to screen coordinates has changed and must be recalculated. Calling this function triggers a call to the <code>updateTransform()</code> method on the next call to the <code>commitProperties()</code> method.  to the update methods.",
        "tags": [
        {  "tagName": "param",
               "values": ["invalid If <code>true</code>, this method triggers calls"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "invalid", "type": "Boolean"}]}
      ,
      { "type": "method",
        "qname": "invalidateTransitions",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Informs the series that a significant change has occured in the display of data. This triggers any ShowData and HideData effects.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "updateData",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Called when the underlying data that the series represents has changed and needs to be reloaded from the data provider. If you implement custom series types, you should override this method and load all data necessary to render the series out of the backing data provider. You must also be sure to call the <code>super.updateData()</code> method in your subclass. You do not generally call this method directly. Instead, to guarantee that your data has been updated at a given point, call the <code>validateData()</code> method of the Series class.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "updateMapping",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Called when the underlying data the series represents needs to be mapped to numeric representations. This can happen either because the underlying data has changed or because the axes used to render the series have changed in some relevant way. If you implement a custom series, you should override this method and convert the data represented into numeric values by using the <code>mapCache()</code> method of the axes that are managed by its associated data transform. You must also be sure to call the <code>super.updateMapping()</code> method in your subclass. You should not generally call this method directly. Instead, to guarantee that your data has been mapped at a given point, call the <code>validateData()</code> method of the Series class. You can generally assume that your <code>updateData()</code> method has been called prior to this method, if necessary.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "updateFilter",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Called when the underlying data the series represents needs to be filtered against the ranges represented by the axes of the associated data transform. This can happen either because the underlying data has changed or because the range of the associated axes has changed. If you implement a custom series type, you should override this method and filter out any outlying data using the <code>filterCache()</code> method of the axes managed by its associated data transform. The <code>filterCache()</code> method converts any values that are out of range to <code>NaN</code>. You must be sure to call the <code>super.updateFilter()</code> method in your subclass. You should not generally call this method directly. Instead, if you need to guarantee that your data has been filtered at a given point, call the <code>validateTransform()</code> method of the Series class. You can generally assume that your <code>updateData()</code> and <code>updateMapping()</code> methods have been called prior to this method, if necessary.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "updateTransform",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Called when the underlying data the series represents needs to be transformed from data to screen values by the axes of the associated data transform. This can happen either because the underlying data has changed, because the range of the associated axes has changed, or because the size of the area on screen has changed. If you implement a custom series type, you should override this method and transform the data using the <code>transformCache()</code> method of the associated data transform. You must be sure to call the <code>super.updateTransform()</code> method in your subclass. You should not generally call this method directly. Instead, if you need to guarantee that your data has been filtered at a given point, call the <code>valiateTransform()</code> method of the Series class. You can generally assume that your <code>updateData()</code>, <code>updateMapping()</code>, and <code>updateFilter()</code> methods have been called prior to this method, if necessary.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "validateTransform",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Calls the <code>updateFilter()</code> and <code>updateTransform()</code> methods of the series, if necessary. This method is called automatically by the series during the <code>commitProperties()</code> method, as necessary, but a derived series might call it explicitly if the generated values are needed at an explicit time. Filtering and transforming of data relies on specific values being calculated by the axes, which can in turn depend on the data that is displayed in the chart. Calling this function at the wrong time might result in extra work being done, if those values are updated.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "validateData",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Calls the <code>updateData()</code> and <code>updateMapping()</code> methods of the series, if necessary. This method is called automatically by the series from the <code>commitProperties()</code> method, as necessary, but a derived series might call it explicitly if the generated values are needed at an explicit time. Loading and mapping data against the axes is designed to be acceptable by the axes at any time. It is safe this method explicitly at any point.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "getRenderDataForTransition",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Captures the before and after states of the series for animation. This method is typically called by the effects classes.  <p>If you implement a custom series type, you generally do not override this method. Instead, you should override the <code>renderData()</code> accessor.</p>  a description of the data being hidden, or the new data being shown.",
        "tags": [
        {  "tagName": "param",
               "values": ["type Specifies whether the effect is requesting"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "return",
               "values": ["A copy of the data needed to represent the data of the series."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Object",
          "params": [{ "name": "type", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "getElementBounds",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Fills in the <code>elementBounds</code>, <code>bounds</code>, and <code>visibleBounds</code> properties of a renderData structure that is generated by this series. Effect classes call this method to fill in these fields for use in implementing various effect types. Derived classes should implement this method to generate the bounds of the items of the series only when requested.",
        "tags": [
        {  "tagName": "param",
               "values": ["renderData The structure that is generated by this series."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "renderData", "type": "Object"}]}
      ,
      { "type": "method",
        "qname": "endInterpolation",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Called by the SeriesInterpolate effect to end an interpolation effect. The effect uses this method to complete the interpolation and clean up any temporary state associated with the effect.  that represents the &quot;before&quot; state of the series, and the destination data (for the <code>hide</code> effect) that represents the &quot;after&quot; state of the series.",
        "tags": [
        {  "tagName": "param",
               "values": ["interpolationData An object that defines the source data (for the <code>show</code> effect)"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "interpolationData", "type": "Object"}]}
      ,
      { "type": "method",
        "qname": "beginInterpolation",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Called by the SeriesInterpolate effect to initiate an interpolation effect. The effect passes in the source and destination data for the series to interpolate between. The effect passes the return value of this method repeatedly to the <code>interpolate()</code> method of the series to advance the animation for the duration of the effect. The series calculates the data it needs to perform the interpolation and returns it in this method.",
        "tags": [
        {  "tagName": "param",
               "values": ["sourceRenderData The source data for the series to interpolate between.", "destRenderData The destination data for the series to interpolate between."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "return",
               "values": ["The data the series needs to perform the interpolation."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Object",
          "params": [{ "name": "sourceRenderData", "type": "Object"},
        { "name": "destRenderData", "type": "Object"}]}
      ,
      { "type": "method",
        "qname": "initializeInterpolationData",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Helper method to implement the interpolation effect. A custom series can call this method from its <code>beginInterpolation()</code> method to initialize a data structure to interpolate  an arbitrary set of numeric properties over the life of the effect. You can pass that data structure to the <code>applyInterpolation()</code> utility method to actually modify the values when the <code>interpolate()</code> method is called.  contain the beginning values for the interpolation.  contain the ending values for the interpolation.  of the properties from the cache to be interpolated.  computed for the interpolation. Typically this is <code>null</code>, in which case a generic Object is used.  When the initialization process encounters a missing value, it calls the <code>getMissingInterpolationValues()</code> method of the series to fill in the missing value. This custom data is passed to that method, and can be used to pass through arbitrary parameters.  to the <code>applyInterpolation()</code> method.",
        "tags": [
        {  "tagName": "param",
               "values": ["srcCache An Array of objects whose fields", "dstCache An Array of objects whose fields", "iProps A hash table whose keys identify the names", "cacheType The class to instantiate that holds the delta values", "customData An object containing series-specific data."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "return",
               "values": ["A data structure that can be passed"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Object",
          "params": [{ "name": "srcCache", "type": "Array"},
        { "name": "dstCache", "type": "Array"},
        { "name": "iProps", "type": "Object"},
        { "name": "cacheType", "type": "Class"},
        { "name": "customData", "type": "Object"}]}
      ,
      { "type": "method",
        "qname": "getMissingInterpolationValues",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Fills in missing values in an interpolation structure. When a series calls the <code>initializeInterpolationData()</code> method, it passes in Arrays of source and destination values for the interpolation. If either of those two Arrays is incomplete, the series must provide &quot;appropriate&quot; placeholder values for the interpolation. How those placeholder values are determined is specific to the series type. Series extenders should override this method to provide those placeholder values.  being interpolated for a particular item. When this method exits, all properties in this object should have values other than <code>NaN</code>.   that are being interpolated for a particular item. When this method exits, all properties in this Object should have values other than <code>NaN</code>.    into the <code>initializeInterpolationData()</code> method.",
        "tags": [
        {  "tagName": "param",
               "values": ["sourceProps An object containing the source values", "srcCache The Array of source chart items that are being interpolated.", "destProps An object containing the destination values", "destCache The Array of destination chart items that are being interpolated.", "index The index of the item that is being populated in the cache.", "customData The data that was passed by the series"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "sourceProps", "type": "Object"},
        { "name": "srcCache", "type": "Array"},
        { "name": "destProps", "type": "Object"},
        { "name": "destCache", "type": "Array"},
        { "name": "index", "type": "Number"},
        { "name": "customData", "type": "Object"}]}
      ,
      { "type": "method",
        "qname": "interpolate",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Called by the SeriesInterpolate effect to advance an interpolation. The effect calls this once per frame until the interpolation is complete. The series is responsible for using the parameters to render the interpolated values. By default, the series assumes that <code>interpolationData</code> is a data structure returned by the <code>initializeInterpolationData()</code> method, and passes it through to the <code>applyInterpolation()</code> method.  from 0 to 1, where the <i>n</i>th number indicates the percentage of the way in which the <i>n</i>th value in the data series should be interpolated between the start and end values.  <code>beginInterpolation()</code> method.",
        "tags": [
        {  "tagName": "param",
               "values": ["interpolationValues An Array of Numbers, each ranging", "interpolationData The data returned from the"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "interpolationValues", "type": "Array"},
        { "name": "interpolationData", "type": "Object"}]}
      ,
      { "type": "method",
        "qname": "legendDataChanged",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Updates the Legend items when the series display name changes by dispatching a new LegendDataChanged event.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "defaultFilterFunction",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "This is used if you do not set a custom function as the filterFunction for the series. Individual series should overwrite this.",
        "tags": [
        {  "tagName": "param",
               "values": ["cache An array of objects."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 4"]},
            {  "tagName": "return",
               "values": ["An array of objects."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Array",
          "params": [{ "name": "cache", "type": "Array"}]}
      ,
      { "type": "method",
        "qname": "getAxis",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "You typically retrieve the Axis instance directly through a named property (such as for a Cartesian-based series <code>horizontalAxis</code>, <code>verticalAxis</code>, or <code>radiusAxis</code>).  <p>This is a low-level accessor.</p>",
        "tags": [
        {  "tagName": "param",
               "values": ["dimension The dimension that you want the axis for."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "return",
               "values": ["The Axis instance for a particular dimension of the chart."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "mx.charts.chartClasses.IAxis",
          "params": [{ "name": "dimension", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "setAxis",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Assigns an Axis instance to a particular dimension of the chart. You typically set the Axis instance directly through a named property (such as for a Cartesian-based series <code>horizontalAxis</code>, <code>verticalAxis</code>, or <code>radiusAxis</code>).  <p>This is a low-level accessor.</p>",
        "tags": [
        {  "tagName": "param",
               "values": ["dimension The dimension of the chart that you want to assign the Axis to.", "value The Axis to assign to the chart's dimension."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "dimension", "type": "String"},
        { "name": "value", "type": "mx.charts.chartClasses.IAxis"}]}
      ,
      { "type": "method",
        "qname": "dragStartHandler",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The default handler for the <code>dragStart</code> event.",
        "tags": [
        {  "tagName": "param",
               "values": ["event The DragEvent object."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "event", "type": "mx.events.DragEvent"}]}
      ]
  }
