View Javadoc

    1   /***
    2    *
    3    * Copyright 2005 LogicBlaze, Inc. http://www.logicblaze.com
    4    *
    5    * Licensed under the Apache License, Version 2.0 (the "License");
    6    * you may not use this file except in compliance with the License.
    7    * You may obtain a copy of the License at
    8    *
    9    * http://www.apache.org/licenses/LICENSE-2.0
    10   *
    11   * Unless required by applicable law or agreed to in writing, software
    12   * distributed under the License is distributed on an "AS IS" BASIS,
    13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14   * See the License for the specific language governing permissions and
    15   * limitations under the License.
    16   *
    17   **/
    18  package groovy.xml;
    19
    20  /***
    21   * A simple helper class which acts as a factory of {@link QName} instances.
    22   *
    23   * @version $Revision: 4032 $
    24   */
    25  public class Namespace {
    26
    27      private String uri;
    28      private String prefix;
    29
    30      public Namespace() {
    31      }
    32
    33      public Namespace(String uri) {
    34          this.uri = uri;
    35      }
    36
    37      public Namespace(String uri, String prefix) {
    38          this.uri = uri;
    39          this.prefix = prefix;
    40      }
    41
    42      /***
    43       * Returns the QName for the given localName.
    44       *
    45       * @param localName
    46       *            the local name within this
    47       */
    48      public QName get(String localName) {
    49          if (uri != null && uri.length() > 0) {
    50              if (prefix != null) {
    51                  return new QName(uri, localName, prefix);
    52              }
    53              else {
    54                  return new QName(uri, localName);
    55              }
    56          }
    57          else {
    58              return new QName(localName);
    59          }
    60      }
    61
    62      /***
    63       * Returns the prefix mapped to this namespace
    64       *
    65       * @return the prefix assigned to this namespace or null if no namespace is
    66       *         mapped.
    67       */
    68      public String getPrefix() {
    69          return prefix;
    70      }
    71
    72      /***
    73       * Returns the URI of this namespace
    74       *
    75       * @return the URI of this namespace
    76       */
    77      public String getUri() {
    78          return uri;
    79      }
    80
    81  }