content: /*
   *  This file is part of AndroidIDE.
   *
   *  AndroidIDE is free software: you can redistribute it and/or modify
   *  it under the terms of the GNU General Public License as published by
   *  the Free Software Foundation, either version 3 of the License, or
   *  (at your option) any later version.
   *
   *  AndroidIDE is distributed in the hope that it will be useful,
   *  but WITHOUT ANY WARRANTY; without even the implied warranty of
   *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   *  GNU General Public License for more details.
   *
   *  You should have received a copy of the GNU General Public License
   *   along with AndroidIDE.  If not, see <https://www.gnu.org/licenses/>.
   */
  
  /*
   * reserved comment block
   * DO NOT REMOVE OR ALTER!
   */
  /*
   * Copyright 2001-2004 The Apache Software Foundation.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  
  package jaxp.sun.org.apache.xerces.internal.impl.xs;
  
  import jaxp.sun.org.apache.xerces.internal.impl.xs.util.XSObjectListImpl;
  import jaxp.sun.org.apache.xerces.internal.xs.XSAnnotation;
  import jaxp.sun.org.apache.xerces.internal.xs.XSConstants;
  import jaxp.sun.org.apache.xerces.internal.xs.XSNamespaceItem;
  import jaxp.sun.org.apache.xerces.internal.xs.XSNotationDeclaration;
  import jaxp.sun.org.apache.xerces.internal.xs.XSObjectList;
  
  /**
   * The XML representation for a NOTATION declaration
   * schema component is a global <notation> element information item
   *
   * @xerces.internal
   *
   * @author Rahul Srivastava, Sun Microsystems Inc.
   * @version $Id: XSNotationDecl.java,v 1.7 2010-11-01 04:39:55 joehw Exp $
   */
  public class XSNotationDecl implements XSNotationDeclaration {
  
      // name of the group
      public String fName = null;
      // target namespace of the group
      public String fTargetNamespace = null;
      // public id of the notation
      public String fPublicId = null;
      // system id of the notation
      public String fSystemId = null;
  
      // optional annotation
      public XSObjectList fAnnotations = null;
  
      // The namespace schema information item corresponding to the target namespace
      // of the notation declaration, if it is globally declared; or null otherwise.
      private XSNamespaceItem fNamespaceItem = null;
  
      /**
       * Get the type of the object, i.e ELEMENT_DECLARATION.
       */
      public short getType() {
          return XSConstants.NOTATION_DECLARATION;
      }
  
      /**
       * The <code>name</code> of this <code>XSObject</code> depending on the
       * <code>XSObject</code> type.
       */
      public String getName() {
          return fName;
      }
  
      /**
       * The namespace URI of this node, or <code>null</code> if it is
       * unspecified.  defines how a namespace URI is attached to schema
       * components.
       */
      public String getNamespace() {
          return fTargetNamespace;
      }
  
      /**
       * Optional if {public identifier} is present. A URI reference.
       */
      public String getSystemId() {
          return fSystemId;
      }
  
      /**
       * Optional if {system identifier} is present. A public identifier,
       * as defined in [XML 1.0 (Second Edition)].
       */
      public String getPublicId() {
          return fPublicId;
      }
  
      /**
       * Optional. Annotation.
       */
      public XSAnnotation getAnnotation() {
          return (fAnnotations != null) ? (XSAnnotation) fAnnotations.item(0) : null;
      }
  
      /**
       * Optional. Annotations.
       */
      public XSObjectList getAnnotations() {
          return (fAnnotations != null) ? fAnnotations : XSObjectListImpl.EMPTY_LIST;
      }
  
      /**
       * @see org.apache.xerces.xs.XSObject#getNamespaceItem()
       */
      public XSNamespaceItem getNamespaceItem() {
          return fNamespaceItem;
      }
  
      void setNamespaceItem(XSNamespaceItem namespaceItem) {
          fNamespaceItem = namespaceItem;
      }
  
  } // class XSNotationDecl
  