{ "type": "class",
  "qname": "mx.charts.DateTimeAxis",
  "baseClassname": "mx.charts.chartClasses.NumericAxis"
  ,
    "description": "The DateTimeAxis class maps time values evenly between a minimum and maximum value along a chart axis. It can plot values represented either as instances of the Date class, as numeric values representing the number of milliseconds since the epoch (midnight on January 1, 1970, GMT), or as String values when you provide a custom parsing function.  <p>The DateTimeAxis chooses the most reasonable units to mark the axis by examining the range between the minimum and maximum values of the axis. The Axis chooses the largest unit that generates a reasonable number of labels for the given range. You can restrict the set of units the chart considers, or specify exactly which units it should use, by setting the <code>labelUnits</code> property.</p>  <p>You can specifiy the minimum and maximum values explicitly, or let the axis automatically determine them by examining the values being renderered in the chart. By default, the DateTimeAxis chooses the smallest possible range to contain all the values represented in the chart. Optionally, you can request that the minimum and maximum values be rounded to whole units (milliseconds, seconds, minutes, hours, days, weeks, months, years) by setting the <code>autoAdjust</code> property to <code>true</code>.</p>  <p>You can specify disabled days of a week and disabled ranges of dates in order to show only working days on the axis but not all days between minimum and maximum. It also filters data and shows only data corresponding to working days on the chart</p>   <p>The <code>&lt;mx:DateTimeAxis&gt;</code> tag inherits all the properties of its parent classes and adds the following properties:</p>  <pre>\\n &lt;mx:DateTimeAxis\\n <strong>Properties</strong>\\n alignLabelsToUnits=&quot;true|false&quot;\\n dataUnits=&quot;milliseconds|seconds|minutes|hours|days|weeks|months|years&quot;\\n disabledDays=&quot;<i>Array; No default</i>&quot;\\n disabledRanges=&quot;<i>Array; No default</i>&quot;\\n displayLocalTime=&quot;<i>false</i>&quot;\\n interval=&quot;<i>Number</i>&quot;\\n labelUnits=&quot;milliseconds|seconds|minutes|hours|days|weeks|months|years&quot;\\n maximum=&quot;<i>Date</i>&quot;\\n minimum=&quot;<i>Date</i>&quot;\\n minorTickInterval=&quot;<i>Number</i>&quot;\\n minorTickUnits=&quot;milliseconds|seconds|minutes|hours|days|weeks|months|years&quot;\\n /&gt;\\n </pre>",
  "tags": [
  {  "tagName": "includeExample",
         "values": ["examples/DateTimeAxisExample.mxml"]},
      {  "tagName": "see",
         "values": ["mx.charts.chartClasses.IAxis"]},
      {  "tagName": "mxml",
         "values": []},
      {  "tagName": "playerversion",
         "values": ["Flash 9", "AIR 1.1"]},
      {  "tagName": "productversion",
         "values": ["Flex 3"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "mx.charts.DateTimeAxis",
        "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": "Function",
        "qname": "parseFunction",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "Specifies a method that customizes the value of the data points. With this property, you specify a method that accepts a value and returns a Date object. The Date object is then used in the DateTimeAxis object of the chart. This lets you provide customizable date input strings and convert them to Date objects, which Flex can then interpret for use in the DateTimeAxis.  <p>Flex passes only one parameter to the parsing method. This parameter is the value of the data point you specified for the series. Typically, it is a String that represents some form of a date. You cannot override this parameter or add additional parameters.</p>  <p>This Date object is immediately converted to a numeric value, so custom parseFunctions can reuse the same Date object for performance reasons. By default, the DateTimeAxis uses the string parsing functionality in the ECMA standard <code>Date.parse()</code> method.</p>  The following example uses a data provider that defines a data object in the format { yyyy, mm, dd }. The method specified by the <code>parseFunction</code> uses these values to create a Date object that the axis can use.  <pre>\\n &lt;mx:Script&gt;\\n import mx.collections.ArrayCollection;\\n [Bindable]\\n public var aapl:ArrayCollection = new ArrayCollection([\\n {date: &quot;2005, 8, 1&quot;, close: 42.71},\\n {date: &quot;2005, 8, 2&quot;, close: 42.99},\\n {date: &quot;2005, 8, 3&quot;, close: 44}\\n ]);\\n \\n public function myParseFunction(s:String):Date {\\n // Get an array of Strings from the comma-separated String passed in.\\n var a:Array = s.split(&quot;,&quot;);\\n \\n // Create the new Date object. Note that the month argument is 0-based (with 0 being January).\\n var newDate:Date = new Date(a[0],a[1]-1,a[2]);\\n return newDate;\\n }\\n &lt;/mx:Script&gt;\\n &lt;mx:LineChart id=&quot;mychart&quot; dataProvider=&quot;{aapl}&quot; showDataTips=&quot;true&quot;&gt;\\n &lt;mx:horizontalAxis&gt;\\n &lt;mx:DateTimeAxis dataUnits=&quot;days&quot; parseFunction=&quot;myParseFunction&quot;/&gt;\\n &lt;/mx:horizontalAxis&gt;\\n &lt;mx:series&gt;\\n &lt;mx:LineSeries yField=&quot;close&quot; xField=&quot;date&quot; displayName=&quot;AAPL&quot;/&gt;\\n &lt;/mx:series&gt;\\n &lt;/mx:LineChart&gt;\\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-only",
        "return": "uint",
        "qname": "requiredDescribedFields",
        "namespace": "protected",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "The fields of the DescribeData structure that this axis is interested in.",
        "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": "Number",
        "qname": "unitSize",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "The width, in pixels, of a single data unit. The type of a data unit is determined by the value of the <code>dataUnits</code> property.",
        "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": "alignLabelsToUnits",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Determines the placement of labels along the axis. <p>When <code>false</code>, the chart always puts a label at the beginning of the axis. For example, if your labels are every month and your first datapoint is July 14th, your first label will be on July 14th. When <code>true</code>, Flex first calculates the label units, then labels the first whole interval of those units. For example, if your first data point was July 14th, and your label units was months (set explicitly or dynamically calculated), the first label will be on August 1st.</p>",
        "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": "write-only",
        "return": "Number",
        "qname": "dataInterval",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Specifies the interval between data in your chart, specified in <code>dataUnits</code>. <p>If, for example, the <code>dataUnits</code> property is set to <code>&quot;hours&quot;</code>, and <code>dataInterval</code> property is set to 4, the chart assumes your data occurs every four hours. This affects how some series (such as ColumnSeries and CandlestickSeries) render their data. It also affects how labels are automatically chosen.</p>",
        "tags": [
        {  "tagName": "see",
               "values": ["#dataUnits"]},
            {  "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": "dataUnits",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Specifies the units that you expect the data in your chart to represent. The value can be one of the following: <ul> <li><code>milliseconds</code></li> <li><code>seconds</code></li> <li><code>minutes</code></li> <li><code>hours</code></li> <li><code>days</code></li> <li><code>weeks</code></li> <li><code>months</code></li> <li><code>years</code></li> </ul>  <p>This value is used in two ways. First, when choosing appropriate label units, a DateTimeAxis does not choose any unit smaller than the units represented by the data. If the value of the <code>dataUnits</code> property is <code>days</code>, the chart would not render labels for every hour, no matter what the minmium/maximum range is.</p>  <p>Secondly, the value of the <code>dataUnits</code> property is used by some series to affect their rendering. Specifically, most columnar series (such as ColumnSeries, BarSeries, CandlestickSeries, and HLOCSeries) use the value of the <code>dataUnits</code> property to determine how wide to render their columns.</p>  <p>If, for example, your ColumnChart control's horizontal axis had its <code>labelUnits</code> property set to <code>weeks</code> and its <code>dataUnits</code> property set to <code>days</code>, the ColumnChart renders each column at 1/7th the distance between labels.</p>  <p>When the <code>dataUnits</code> property is set to <code>null</code>, columnar series render their columns as days, but the DateTimeAxis chooses an appropriate unit when it generates the labels.</p>",
        "tags": [
        {  "tagName": "default",
               "values": ["null"]},
            {  "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": "disabledDays",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The days to disable in a week. All the dates in a month, for the specified day, are disabled. The elements of this array can have values from 0 (Sunday) to 6 (Saturday). For example, a value of <code>[ 0, 6 ]</code> disables Sunday and Saturday.",
        "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": "disabledRanges",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Disables single and multiple days.  <p>This property accepts an Array of objects as a parameter. Each object in this array is a Date object, specifying a single day to disable; or an object containing either or both of the <code>rangeStart</code> and <code>rangeEnd</code> properties, each of whose values is a Date object. The value of these properties describes the boundaries of the date range. If either is omitted, the range is considered unbounded in that direction. If you specify only <code>rangeStart</code>, all the dates after the specified date are disabled, including the <code>rangeStart</code> date. If you specify only <code>rangeEnd</code>, all the dates before the specified date are disabled, including the <code>rangeEnd</code> date. To disable a single day, use a single Date object specifying a date in the Array.</p>  <p>The following example, disables the following dates: January 11 2006, the range January 23 - February 10 2006, and March 1 2006 and all following dates.</p>  <p><code>disabledRanges=&quot;{[ new Date(2006,0,11), {rangeStart: new Date(2006,0,23), rangeEnd: new Date(2006,1,10)}, {rangeStart: new Date(2006,2,1)} ]}&quot;</code></p>",
        "tags": [
        {  "tagName": "default",
               "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": "Boolean",
        "qname": "displayLocalTime",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "When set to <code>true</code>, a DateTimeAxis considers all date values to be in the time zone of the client machine running the application. If <code>false</code>, all values are in Universal Time (Greenwich Mean Time).",
        "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": "Number",
        "qname": "interval",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Specifies the number of <code>labelUnits</code> between label values along the axis. Flex calculates the interval if this property is set to <code>null</code>.",
        "tags": [
        {  "tagName": "default",
               "values": ["null"]},
            {  "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": "labelUnits",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The units that the axis uses to generate labels. By default, a DateTimeAxis considers all valid units (<code>milliseconds</code>, <code>seconds</code>, <code>minutes</code>, <code>hours</code>, <code>days</code>, <code>weeks</code>, <code>months</code>, or <code>years</code>).  <p>If the <code>labelUnits</code> property is not set, the chart does not use any unit smaller than the value of the <code>dataUnits</code> property to render labels.</p>",
        "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": "Date",
        "qname": "maximum",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Specifies the maximum value for an axis label. If <code>null</code>, Flex determines the minimum value from the data in the chart.",
        "tags": [
        {  "tagName": "default",
               "values": ["null"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Date",
        "qname": "minimum",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Specifies the minimum value for an axis label. If <code>null</code>, Flex determines the minimum value from the data in the chart.",
        "tags": [
        {  "tagName": "default",
               "values": ["null"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Number",
        "qname": "minorTickInterval",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Specifies the number of <code>minorTickUnits</code> between minor tick marks along the axis. If this is set to <code>NaN</code>, the DateTimeAxis calculates it automatically.  <p>Normally the <code>minorTickInterval</code> property is automatically set to 1. If, however, the <code>minorTickUnits</code> property is the same units as the <code>dataUnits</code> property (either set explicitly or implicitly calculated), then the <code>minorTickInterval</code> property is the maximum of 1, or <code>dataInterval</code>.</p>",
        "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": "minorTickUnits",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The units that the Axis considers when generating minor tick marks. By default, a DateTimeAxis considers all valid units (<code>milliseconds</code>, <code>seconds</code>, <code>minutes</code>, <code>hours</code>, <code>days</code>, <code>weeks</code>, <code>months</code>, or <code>years</code>).  <p>If this property is not set, the chart determines the value of the <code>minorTickUnits</code> property. If the label interval is greater than 1, the <code>minorTickUnits</code> property is set to the value of the <code>labelUnits</code> property, and the <code>minorTickInterval</code> property is set to 1. If the label interval is 1, the <code>minorTickUnits</code> property is set to the next smaller unit from the <code>labelUnits</code> property. If set, the <code>minorTickUnits</code> property can never be smaller than the value of the <code>dataUnits</code> property.</p>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "transformCache",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "copy",
               "values": ["mx.charts.chartClasses.IAxis#transformCache()"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "cache", "type": "Array"},
        { "name": "field", "type": "String"},
        { "name": "convertedField", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "filterCache",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "copy",
               "values": ["mx.charts.chartClasses.IAxis#filterCache()"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "cache", "type": "Array"},
        { "name": "field", "type": "String"},
        { "name": "filteredField", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "reduceLabels",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "Invoked when an AxisRenderer is unable to cleanly render the labels without overlap, and would like the Axis object to reduce the set of labels. The method is passed the two labels that are overlapping.    the number of labels.",
        "tags": [
        {  "tagName": "param",
               "values": ["intervalStart The start of the interval where labels overlap.", "intervalEnd The end of the interval where labels overlap."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "return",
               "values": ["A new label set that resolves the overlap by reducing"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "mx.charts.chartClasses.AxisLabelSet",
          "params": [{ "name": "intervalStart", "type": "mx.charts.AxisLabel"},
        { "name": "intervalEnd", "type": "mx.charts.AxisLabel"}]}
      ,
      { "type": "method",
        "qname": "buildMinorTickCache",
        "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": "Array",
          "params": []}
      ,
      { "type": "method",
        "qname": "formatYears",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The default formatting function used when the axis renders with year-based <code>labelUnits</code>. If you write a custom DateTimeAxis class, you can override this method to provide alternate default formatting.  <p>You do not call this method directly. Instead, Flex calls this method before it renders the label to get the appropriate String to display.</p>   prior to the current data point.",
        "tags": [
        {  "tagName": "param",
               "values": ["d The Date object that contains the unit to format.", "previousValue The Date object that contains the data point that occurs", "axis The DateTimeAxis on which the label is rendered."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "return",
               "values": ["The formatted label."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "String",
          "params": [{ "name": "d", "type": "Date"},
        { "name": "previousValue", "type": "Date"},
        { "name": "axis", "type": "mx.charts.DateTimeAxis"}]}
      ,
      { "type": "method",
        "qname": "formatMonths",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The default formatting function used when the axis renders with month-based <code>labelUnits</code>. If you write a custom DateTimeAxis class, you can override this method to provide alternate default formatting.  <p>You do not call this method directly. Instead, Flex calls this method before it renders the label to get the appropriate String to display.</p>   prior to the current data point.",
        "tags": [
        {  "tagName": "param",
               "values": ["d The Date object that contains the unit to format.", "previousValue The Date object that contains the data point that occurs", "axis The DateTimeAxis on which the label is rendered."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "return",
               "values": ["The formatted label."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "String",
          "params": [{ "name": "d", "type": "Date"},
        { "name": "previousValue", "type": "Date"},
        { "name": "axis", "type": "mx.charts.DateTimeAxis"}]}
      ,
      { "type": "method",
        "qname": "formatDays",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The default formatting function used when the axis renders with day-based <code>labelUnits</code>. If you write a custom DateTimeAxis class, you can override this method to provide alternate default formatting.  <p>You do not call this method directly. Instead, Flex calls this method before it renders the label to get the appropriate String to display.</p>   prior to the current data point.",
        "tags": [
        {  "tagName": "param",
               "values": ["d The Date object that contains the unit to format.", "previousValue The Date object that contains the data point that occurs", "axis The DateTimeAxis on which the label is rendered."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "return",
               "values": ["The formatted label."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "String",
          "params": [{ "name": "d", "type": "Date"},
        { "name": "previousValue", "type": "Date"},
        { "name": "axis", "type": "mx.charts.DateTimeAxis"}]}
      ,
      { "type": "method",
        "qname": "formatMinutes",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The default formatting function used when the axis renders with minute-based <code>labelUnits</code>. If you write a custom DateTimeAxis class, you can override this method to provide alternate default formatting.  <p>You do not call this method directly. Instead, Flex calls this method before it renders the label to get the appropriate String to display.</p>   prior to the current data point.",
        "tags": [
        {  "tagName": "param",
               "values": ["d The Date object that contains the unit to format.", "previousValue The Date object that contains the data point that occurs", "axis The DateTimeAxis on which the label is rendered."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "return",
               "values": ["The formatted label."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "String",
          "params": [{ "name": "d", "type": "Date"},
        { "name": "previousValue", "type": "Date"},
        { "name": "axis", "type": "mx.charts.DateTimeAxis"}]}
      ,
      { "type": "method",
        "qname": "formatSeconds",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The default formatting function used when the axis renders with second-based <code>labelUnits</code>. If you write a custom DateTimeAxis class, you can override this method to provide alternate default formatting.  <p>You do not call this method directly. Instead, Flex calls this method before it renders the label to get the appropriate String to display.</p>   prior to the current data point.",
        "tags": [
        {  "tagName": "param",
               "values": ["d The Date object that contains the unit to format.", "previousValue The Date object that contains the data point that occurs", "axis The DateTimeAxis on which the label is rendered."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "return",
               "values": ["The formatted label."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "String",
          "params": [{ "name": "d", "type": "Date"},
        { "name": "previousValue", "type": "Date"},
        { "name": "axis", "type": "mx.charts.DateTimeAxis"}]}
      ,
      { "type": "method",
        "qname": "formatMilliseconds",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The default formatting function used when the axis renders with millisecond-based <code>labelUnits</code>. If you write a custom DateTimeAxis class, you can override this method to provide alternate default formatting.  <p>You do not call this method directly. Instead, Flex calls this method before it renders the label to get the appropriate String to display.</p>   prior to the current data point.",
        "tags": [
        {  "tagName": "param",
               "values": ["d The Date object that contains the unit to format.", "previousValue The Date object that contains the data point that occurs", "axis The DateTimeAxis on which the label is rendered."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "return",
               "values": ["The formatted label."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "String",
          "params": [{ "name": "d", "type": "Date"},
        { "name": "previousValue", "type": "Date"},
        { "name": "axis", "type": "mx.charts.DateTimeAxis"}]}
      ]
  }
