⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xmlelement.java

📁 Skin Look And Feel 1.2.10, 给你的java程序换肤, 支持大量通用皮肤文件.
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
   */
  public double getProperty(String key,
      double defaultValue) {
    if (this.ignoreCase) {
      key = key.toUpperCase();
    }

    String val = this.attributes.getProperty(key);

    if (val == null) {
      return defaultValue;
    }
    else {
      try {
        return Double.valueOf(val).doubleValue();
      } catch (NumberFormatException e) {
        throw this.invalidValue(key, val, this.lineNr);
      }
    }
  }


  /**
   * Returns a boolean property of the object. If the property is missing, <I>
   * defaultValue</I> is returned.
   *
   * @param key           Description of Parameter
   * @param trueValue     Description of Parameter
   * @param falseValue    Description of Parameter
   * @param defaultValue  Description of Parameter
   * @return              The Property value
   */
  public boolean getProperty(String key,
      String trueValue,
      String falseValue,
      boolean defaultValue) {
    if (this.ignoreCase) {
      key = key.toUpperCase();
    }

    String val = this.attributes.getProperty(key);

    if (val == null) {
      return defaultValue;
    }
    else if (val.equals(trueValue)) {
      return true;
    }
    else if (val.equals(falseValue)) {
      return false;
    }
    else {
      throw this.invalidValue(key, val, this.lineNr);
    }
  }


  /**
   * Returns a property by looking up a key in the hashtable <I>valueSet</I> If
   * the property doesn't exist, the value corresponding to <I>defaultValue</I>
   * is returned.
   *
   * @param key           Description of Parameter
   * @param valueSet      Description of Parameter
   * @param defaultValue  Description of Parameter
   * @return              The Property value
   */
  public Object getProperty(String key,
      Hashtable valueSet,
      String defaultValue) {
    if (this.ignoreCase) {
      key = key.toUpperCase();
    }

    String val = this.attributes.getProperty(key);

    if (val == null) {
      val = defaultValue;
    }

    Object result = valueSet.get(val);

    if (result == null) {
      throw this.invalidValue(key, val, this.lineNr);
    }

    return result;
  }


  /**
   * Returns a property by looking up a key in the hashtable <I>valueSet</I> .
   * If the property doesn't exist, the value corresponding to <I>defaultValue
   * </I> is returned.
   *
   * @param key           Description of Parameter
   * @param valueSet      Description of Parameter
   * @param defaultValue  Description of Parameter
   * @return              The StringProperty value
   */
  public String getStringProperty(String key,
      Hashtable valueSet,
      String defaultValue) {
    if (this.ignoreCase) {
      key = key.toUpperCase();
    }

    String val = this.attributes.getProperty(key);
    String result;

    if (val == null) {
      val = defaultValue;
    }

    try {
      result = (String) (valueSet.get(val));
    } catch (ClassCastException e) {
      throw this.invalidValueSet(key);
    }

    if (result == null) {
      throw this.invalidValue(key, val, this.lineNr);
    }

    return result;
  }


  /**
   * Returns a property by looking up a key in the hashtable <I>valueSet</I> .
   * If the value is not defined in the hashtable, the value is considered to be
   * an integer. If the property doesn't exist, the value corresponding to <I>
   * defaultValue</I> is returned.
   *
   * @param key           Description of Parameter
   * @param valueSet      Description of Parameter
   * @param defaultValue  Description of Parameter
   * @return              The SpecialIntProperty value
   */
  public int getSpecialIntProperty(String key,
      Hashtable valueSet,
      String defaultValue) {
    if (this.ignoreCase) {
      key = key.toUpperCase();
    }

    String val = this.attributes.getProperty(key);
    Integer result;

    if (val == null) {
      val = defaultValue;
    }

    try {
      result = (Integer) (valueSet.get(val));
    } catch (ClassCastException e) {
      throw this.invalidValueSet(key);
    }

    if (result == null) {
      try {
        return Integer.parseInt(val);
      } catch (NumberFormatException e) {
        throw this.invalidValue(key, val, this.lineNr);
      }
    }

    return result.intValue();
  }


  /**
   * Returns a property by looking up a key in the hashtable <I>valueSet</I> .
   * If the value is not defined in the hashtable, the value is considered to be
   * a floating point number. If the property doesn't exist, the value
   * corresponding to <I>defaultValue</I> is returned.
   *
   * @param key           Description of Parameter
   * @param valueSet      Description of Parameter
   * @param defaultValue  Description of Parameter
   * @return              The SpecialDoubleProperty value
   */
  public double getSpecialDoubleProperty(String key,
      Hashtable valueSet,
      String defaultValue) {
    if (this.ignoreCase) {
      key = key.toUpperCase();
    }

    String val = this.attributes.getProperty(key);
    Double result;

    if (val == null) {
      val = defaultValue;
    }

    try {
      result = (Double) (valueSet.get(val));
    } catch (ClassCastException e) {
      throw this.invalidValueSet(key);
    }

    if (result == null) {
      try {
        result = Double.valueOf(val);
      } catch (NumberFormatException e) {
        throw this.invalidValue(key, val, this.lineNr);
      }
    }

    return result.doubleValue();
  }


  /**
   * Returns the class (i.e. the name indicated in the tag) of the object.
   *
   * @return   The TagName value
   */
  public String getTagName() {
    return this.tagName;
  }


  /**
   * Adds a subobject.
   *
   * @param child  The feature to be added to the Child attribute
   */
  public void addChild(XMLElement child) {
    this.children.addElement(child);
  }


  /**
   * Adds a property. If the element is case insensitive, the property name is
   * capitalized.
   *
   * @param key    The feature to be added to the Property attribute
   * @param value  The feature to be added to the Property attribute
   */
  public void addProperty(String key,
      Object value) {
    if (this.ignoreCase) {
      key = key.toUpperCase();
    }

    this.attributes.put(key, value.toString());
  }


  /**
   * Adds a property. If the element is case insensitive, the property name is
   * capitalized.
   *
   * @param key    The feature to be added to the Property attribute
   * @param value  The feature to be added to the Property attribute
   */
  public void addProperty(String key,
      int value) {
    if (this.ignoreCase) {
      key = key.toUpperCase();
    }

    this.attributes.put(key, Integer.toString(value));
  }


  /**
   * Adds a property. If the element is case insensitive, the property name is
   * capitalized.
   *
   * @param key    The feature to be added to the Property attribute
   * @param value  The feature to be added to the Property attribute
   */
  public void addProperty(String key,
      double value) {
    if (this.ignoreCase) {
      key = key.toUpperCase();
    }

    this.attributes.put(key, Double.toString(value));
  }


  /**
   * Returns the number of subobjects of the object.
   *
   * @return   Description of the Returned Value
   */
  public int countChildren() {
    return this.children.size();
  }


  /**
   * Enumerates the attribute names.
   *
   * @return   Description of the Returned Value
   */
  public Enumeration enumeratePropertyNames() {
    return this.attributes.keys();
  }


  /**
   * Enumerates the subobjects of the object.
   *
   * @return   Description of the Returned Value
   */
  public Enumeration enumerateChildren() {
    return this.children.elements();
  }


  /**
   * Reads an XML definition from a java.io.Reader and parses it.
   *
   * @param reader                         Description of Parameter
   * @exception IOException                Description of Exception
   * @exception XMLParseException          Description of Exception
   */
  public void parseFromReader(Reader reader)
       throws IOException, XMLParseException {
    this.parseFromReader(reader, 1);
  }


  /**
   * Reads an XML definition from a java.io.Reader and parses it.
   *
   * @param reader                         Description of Parameter
   * @param startingLineNr                 Description of Parameter
   * @exception IOException                Description of Exception
   * @exception XMLParseException          Description of Exception
   */
  public void parseFromReader(Reader reader,
      int startingLineNr)
       throws IOException, XMLParseException {
    int blockSize = 4096;
    char[] input = null;
    int size = 0;

    for (; ; ) {
      if (input == null) {
        input = new char[blockSize];
      }
      else {
        char[] oldInput = input;
        input = new char[input.length + blockSize];
        System.arraycopy(oldInput, 0, input, 0, oldInput.length);
      }

      int charsRead = reader.read(input, size, blockSize);

      if (charsRead < 0) {
        break;
      }

      size += charsRead;
    }

    this.parseCharArray(input, 0, size, startingLineNr);
  }


  /**
   * Parses an XML definition.
   *
   * @param string                         Description of Parameter
   * @exception XMLParseException          Description of Exception
   */
  public void parseString(String string)
       throws XMLParseException {
    this.parseCharArray(string.toCharArray(), 0, string.length(), 1);
  }


  /**
   * Parses an XML definition starting at <I>offset</I> .
   *
   * @param string                         Description of Parameter
   * @param offset                         Description of Parameter
   * @return                               the offset of the string following
   *      the XML data
   * @exception XMLParseException          Description of Exception
   */
  public int parseString(String string,
      int offset)
       throws XMLParseException {
    return this.parseCharArray(string.toCharArray(), offset,
        string.length(), 1);
  }


  /**
   * Parses an XML definition starting at <I>offset</I> .
   *
   * @param string                         Description of Parameter
   * @param offset                         Description of Parameter
   * @param end                            Description of Parameter
   * @return                               the offset of the string following
   *      the XML data (<= end)
   * @exception XMLParseException          Description of Exception
   */
  public int parseString(String string,
      int offset,
      int end)
       throws XMLParseException {
    return this.parseCharArray(string.toCharArray(), offset, end, 1);
  }


  /**
   * Parses an XML definition starting at <I>offset</I> .
   *
   * @param string                         Description of Parameter
   * @param offset                         Description of Parameter
   * @param end                            Description of Parameter
   * @param startingLineNr                 Description of Parameter
   * @return                               the offset of the string following
   *      the XML data (<= end)
   * @exception XMLParseException          Description of Exception
   */
  public int parseString(String string,
      int offset,
      int end,
      int startingLineNr)
       throws XMLParseException {
    return this.parseCharArray(string.toCharArray(), offset, end,
        startingLineNr);
  }


  /**
   * Parses an XML definition starting at <I>offset</I> .
   *
   * @param input                          Description of Parameter
   * @param offset                         Description of Parameter
   * @param end                            Description of Parameter
   * @return                               the offset of the array following the
   *      XML data (<= end)
   * @exception XMLParseException          Description of Exception
   */
  public int parseCharArray(char[] input,
      int offset,
      int end)
       throws XMLParseException {
    return this.parseCharArray(input, offset, end, 1);
  }


  /**
   * Parses an XML definition starting at <I>offset</I> .
   *
   * @param input                          Description of Parameter
   * @param offset                         Description of Parameter
   * @param end                            Description of Parameter
   * @param startingLineNr                 Description of Parameter
   * @return                               the offset of the array following the
   *      XML data (<= end)
   * @exception XMLParseException          Description of Exception
   */
  public int parseCharArray(char[] input,
      int offset,
      int end,
      int startingLineNr)
       throws XMLParseException {
    int[] lineNr = new int[1];
    lineNr[0] = startingLineNr;
    return this.parseCharArray(input, offset, end, lineNr);
  }


  /**
   * Removes a child object. If the object is not a child, nothing happens.
   *
   * @param child  Description of Parameter
   */
  public void removeChild(XMLElement child) {
    this.children.removeElement(child);
  }


  /**
   * Removes an attribute.
   *

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -