QName = function()

in asdoc/QName.js [23:100]


QName = function(qNameOrUri, localNameVal) {
  qNameOrUri = typeof qNameOrUri !== 'undefined' ? qNameOrUri : undefined;
  localNameVal = typeof localNameVal !== 'undefined' ? localNameVal : undefined;
  
/**
 * @const
 * @type {*}
 */
var firstClass = qNameOrUri && (typeof(qNameOrUri) == 'object') && qNameOrUri['className'];
  
/**
 * @const
 * @type {Namespace}
 */
var ns = (firstClass == 'Namespace') ? qNameOrUri : null;
  
/**
 * @const
 * @type {QName}
 */
var qname = localNameVal && typeof(localNameVal) == 'object' && localNameVal['className'] == 'QName' ? localNameVal : (!ns && firstClass == 'QName') ? qNameOrUri : null;
  if (qname) {
    this.QName__localName = qname.QName__localName;
    if (!ns) {
      if (qname != qNameOrUri) {
        if (firstClass == 'QName') {
          this.QName__uri = qNameOrUri.QName__uri;
        } else {
          if (qNameOrUri === undefined) {
            this.QName__uri = qname.QName__uri;
          } else {
            if (qNameOrUri !== null) {
              this.QName__uri = qNameOrUri.toString();
            } else {
              this.QName__uri = null;
            }
          }
        }
      }
      else
        this.QName__uri = qname.QName__uri;
    } else {
      this.QName__uri = ns.uri;
    }
  } else {
    if (ns) {
      if (localNameVal == undefined)
        this.QName__localName = localNameVal === undefined ? '' : 'null';
      else
        this.QName__localName = localNameVal.toString();
      this.QName__uri = ns.uri;
    } else {
      if (localNameVal !== undefined) {
        this.QName__localName = org.apache.royale.utils.Language.string(localNameVal === null ? 'null' : localNameVal.toString());
        if (qNameOrUri !== undefined) {
          if (qNameOrUri !== null)
            this.QName__uri = qNameOrUri.toString();
        } else {
          if (this.QName__localName == '*')
            this.QName__uri = null;
          else
            this.QName__uri = QName.defaultNS;
        }
      } else {
        if (qNameOrUri !== undefined) {
          this.QName__localName = org.apache.royale.utils.Language.string(qNameOrUri === null ? 'null' : qNameOrUri.toString());
          if (this.QName__localName == '*')
            this.QName__uri = null;
          else
            this.QName__uri = QName.defaultNS;
        } else {
          this.QName__localName = '';
          this.QName__uri = QName.defaultNS;
        }
      }
    }
  }
};