{ "type": "class",
  "qname": "org.apache.royale.routing.HashRouter",
  "baseClassname": "org.apache.royale.core.Strand"
  ,
    "description": "HashRouter is a bead which automatically handles browsing history. It could be attached to any strand, but typically it would be attached to Application or View Listen to stateChange events to handle changes to browsing history and use setState and renderState for modifying the history. The state of the router can be modified before committing the state changes. The difference between HashRouter and BrowserRouter is that HashRouter uses the location hash which is only the section from &quot;#&quot; and on. BrowserRouter uses path routes which are indistinguishable from normal urls. Both Router implementations can use a hash for scroll positioning beads.",
  "tags": [
  {  "tagName": "playerversion",
         "values": ["Flash 10.2", "AIR 2.6"]},
      {  "tagName": "productversion",
         "values": ["Royale 0.9.8"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "org.apache.royale.routing.HashRouter",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "return": "",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "useHashBang",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Using a hashbang (<code>!#</code>) lets the application be indexed by search engines.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.8"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "org.apache.royale.core.IStrand",
        "qname": "host",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "accessor",
        "access": "write-only",
        "return": "org.apache.royale.core.IStrand",
        "qname": "strand",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "method",
        "qname": "listenOnStrand",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Helper function to attach event listener without the need for casting",
        "tags": [
        {  "tagName": "royaleignorecoercion",
               "values": ["org.apache.royale.events.IEventDispatcher"]}  ],
          "return": "void",
          "params": [{ "name": "eventType", "type": "String"},
        { "name": "handler", "type": "Function"},
        { "name": "capture", "type": "Boolean"}]}
      ,
      { "type": "method",
        "qname": "onInit",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "return": "void",
          "params": [{ "name": "event", "type": "org.apache.royale.events.Event"}]}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "org.apache.royale.routing.RouteState",
        "qname": "routeState",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "method",
        "qname": "setState",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Commits the current state to the browsing history",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.8"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "renderState",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Same as setState, but also notifies of the state change",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.8"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-only",
        "return": "Array",
        "qname": "MXMLDescriptor",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "copy",
               "values": ["org.apache.royale.core.Application#MXMLDescriptor"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.8"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "generateMXMLAttributes",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "copy",
               "values": ["org.apache.royale.core.Application#generateMXMLAttributes()"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.8"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "data", "type": "Array"}]}
      ]
  ,
  "events": [
  { "qname": "stateChange",
        "type": "org.apache.royale.events.Event"
      ,
          "description": "Dispatched when the state is changed.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.8"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "qname": "initBindings",
        "type": "org.apache.royale.events.Event"
      ,
          "description": "Dispatched when bindings are initialized",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.8"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]}]
  }
