Package org.w3c.tools.resources

Source Code of org.w3c.tools.resources.PropertiesAttribute

// PropertiesAttribute.java
// $Id: PropertiesAttribute.java,v 1.4 2002/06/09 11:23:34 ylafon Exp $
// (c) COPYRIGHT MIT and INRIA, 1996.
// Please first read the full copyright statement in file COPYRIGHT.html

package org.w3c.tools.resources ;

import java.util.Enumeration;

import org.w3c.util.ArrayDictionary;

/**
* The generic description of an PropertiesAttribute.
* A PropertiesAttribute instance holds a String to String mapping, it
* should be used only with care, since people may act on a reference to
* it.
*/

public class PropertiesAttribute extends ArrayAttribute {

    /**
     * Is the given object a valid PropertiesAttribute value ?
     * @param obj The object to test.
     * @return A boolean <strong>true</strong> if value is valid.
     */

    public boolean checkValue(Object obj) {
  return (obj == null) || (obj instanceof ArrayDictionary);
    }

    /**
     * Unpickle an attribute array from a string array.
     * @param array the String array
     * @return a Object array
     */
    public Object unpickle(String array[]) {
  if (array.length < 1)
      return null;
  ArrayDictionary a = new ArrayDictionary(array.length, 5);
  for (int i = 0 ; i < array.length ; i++) {
      String encoded = array[i];
      int    idx     = encoded.indexOf('=');
      if (idx != -1) {
    String key     = encoded.substring(0, idx);
    String value   = encoded.substring(idx+1);
    a.put(key, value);
      }
  }
  return a;
    }

    /**
     * Pickle an attribute array into a String array.
     * @param array the attribute array
     * @return a String array
     */
    public String[] pickle(Object o) {
  ArrayDictionary a       = (ArrayDictionary) o;
  Enumeration     e       = a.keys();
  int             len     = a.size();
  String          array[] = new String[len];

  for (int i = 0 ; i < len ; i++ ) {
      String key =  (String) e.nextElement();
      array[i]   = key+"="+(String) a.get(key);
  }
  return array;
    }

    /**
     * Create a description for a generic property list attribute.
     * @param name The attribute name.
     * @param def The default value for these attributes.
     * @param flags The associated flags.
     */

    public PropertiesAttribute(String name, String def, int flags) {
  super(name, def, flags) ;
  this.type = "java.lang.String".intern();
    }

    public PropertiesAttribute() {
  super();
  this.type = "java.lang.String".intern();
    }

}

TOP

Related Classes of org.w3c.tools.resources.PropertiesAttribute

TOP
Copyright © 2018 www.massapi.com. 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.