Package aQute.qtokens

Examples of aQute.qtokens.QuotedTokenizer


  static public Map parseHeader(String value, Processor logger) {
    if (value == null || value.trim().length() == 0)
      return new HashMap();

    Map result = new LinkedHashMap();
    QuotedTokenizer qt = new QuotedTokenizer(value, ";=,");
    char del;
    do {
      boolean hadAttribute = false;
      Map clause = new HashMap();
      List aliases = new ArrayList();
      aliases.add(qt.nextToken());
      del = qt.getSeparator();
      while (del == ';') {
        String adname = qt.nextToken();
        if ((del = qt.getSeparator()) != '=') {
          if (hadAttribute)
            throw new IllegalArgumentException(
                "Header contains name field after attribute or directive: "
                    + adname + " from " + value);
          aliases.add(adname);
        } else {
          String advalue = qt.nextToken();
          clause.put(adname, advalue);
          del = qt.getSeparator();
          hadAttribute = true;
        }
      }
      for (Iterator i = aliases.iterator(); i.hasNext();) {
        String packageName = (String) i.next();
View Full Code Here


  static public Map parseHeader(String value,
      Processor logger) {
    if (value == null || value.trim().length() == 0) return new HashMap();

    Map result = new LinkedHashMap();
    QuotedTokenizer qt = new QuotedTokenizer(value, ";=,");
    char del;
    do {
      boolean hadAttribute = false;
      Map clause = new HashMap();
      List aliases = new ArrayList();
      aliases.add(qt.nextToken());
      del = qt.getSeparator();
      while (del == ';') {
        String adname = qt.nextToken();
        if ((del = qt.getSeparator()) != '=') {
          if (hadAttribute) throw new IllegalArgumentException(
              "Header contains name field after attribute or directive: "
                  + adname + " from " + value);
          aliases.add(adname);
        } else {
          String advalue = qt.nextToken();
          clause.put(adname, advalue);
          del = qt.getSeparator();
          hadAttribute = true;
        }
      }
      for (Iterator i = aliases.iterator(); i.hasNext();) {
        String packageName = (String) i.next();
View Full Code Here

    doNative(nc);
  }
 
  public void doNative(String nc) {
    if (nc != null) {
      QuotedTokenizer qt = new QuotedTokenizer(nc, ",;=", false);
      char del;
      do {
        do {
          String name = qt.nextToken();
          del = qt.getSeparator();
          if (del == ';') {
            if (!dot.exists(name)) {
              error("Native library not found in JAR: " + name);
            }
          }
          else {
            String value = qt.nextToken();
            String key = name.toLowerCase();
            if (key.equals("osname")) {
              // ...
            }
            else if (key.equals("osversion")) {
              // verify version range
              verify(value, VERSIONRANGE);
            }
            else if (key.equals("lanuage")) {
              verify(value, ISO639);
            }
            else if (key.equals("processor")) {
              // verify(value, PROCESSORS);
            }
            else if (key.equals("selection-filter")) {
              // verify syntax filter
              verifyFilter(value, 0);
            }
            else {
              warning("Unknown attribute in native code: " + name
                  + "=" + value);
            }
            del = qt.getSeparator();
          }
        } while (del == ';');
      } while (del == ',');
    }
  }
View Full Code Here

  private boolean verifyHeader(String name, Pattern regex, boolean error) {
    String value = manifest.getMainAttributes().getValue(name);
    if (value == null)
      return false;

    QuotedTokenizer st = new QuotedTokenizer(value.trim(), ",");
    for (Iterator i = st.getTokenSet().iterator(); i.hasNext();) {
      if (!verify((String) i.next(), regex)) {
        (error ? errors : warnings).add("Invalid value for " + name
            + ", " + value + " does not match " + regex.pattern());
      }
    }
View Full Code Here

  private boolean verifyListHeader(String name, Pattern regex, boolean error) {
    String value = manifest.getMainAttributes().getValue(name);
    if (value == null)
      return false;

    QuotedTokenizer st = new QuotedTokenizer(value.trim(), ",");
    for (Iterator i = st.getTokenSet().iterator(); i.hasNext();) {
      if (!regex.matcher((String) i.next()).matches()) {
        (error ? errors : warnings).add("Invalid value for " + name
            + ", " + value + " does not match " + regex.pattern());
      }
    }
View Full Code Here

TOP

Related Classes of aQute.qtokens.QuotedTokenizer

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.