Package org.w3c.tools.resources.upgrade

Source Code of org.w3c.tools.resources.upgrade.MimeTypeArrayAttribute

// MimeTypeArrayAttribute.java
// $Id: MimeTypeArrayAttribute.java,v 1.4 2000/08/16 21:37:56 ylafon Exp $
// (c) COPYRIGHT MIT, INRIA and Keio, 1999.
// Please first read the full copyright statement in file COPYRIGHT.html

package org.w3c.tools.resources.upgrade ;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;

import org.w3c.www.mime.MimeType;
import org.w3c.www.mime.MimeTypeFormatException;
/**
* @version $Revision: 1.4 $
* @author  Beno�t Mah� (bmahe@w3.org)
*/
public class MimeTypeArrayAttribute extends StringArrayAttribute {

    public static String[] toStringArray(Object array) {
  if (array == null)
      return null;
  if (array instanceof String[])
      return (String[]) array;
  else if (array instanceof MimeType[]) {
      MimeType mimes[] = (MimeType[]) array;
      String strArray [] = new String[mimes.length];
      for (int i = 0 ; i < mimes.length ; i++)
    strArray[i] = mimes[i].toString();
      return strArray;
  } else
      return null;
    }

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

    public boolean checkValue(Object obj) {
  return ((obj instanceof MimeType[]) || (obj instanceof String[]));
    }

    /**
     * Get the number of bytes required to save that attribute value.
     * @param The value about to be pickled.
     * @return The number of bytes needed to pickle that value.
     */
    public int getPickleLength(Object value) {
  return super.getPickleLength(toStringArray(value));
    }

    /**
     * Pickle a String array to the given output stream.
     * @param out The output stream to pickle to.
     * @param obj The object to pickle.
     * @exception IOException If some IO error occured.
     */

    public void pickle(DataOutputStream out, Object sa)
  throws IOException
    {
  super.pickle(out, toStringArray(sa));
    }

    /**
     * Unpickle an MimeType array from the given input stream.
     * @param in The input stream to unpickle from.
     * @return An instance of MimeType[].
     * @exception IOException If some IO error occured.
     */

    public Object unpickle (DataInputStream in)
  throws IOException
    {
  int    cnt       = in.readInt() ;
  MimeType mimes[] = new MimeType[cnt] ;
  for (int i = 0 ; i < cnt ; i++) {
      try {
    mimes[i] = new MimeType(in.readUTF()) ;
      } catch (MimeTypeFormatException ex) {
    mimes[i] = null;
      }
  }
  return mimes ;
    }

    public MimeTypeArrayAttribute(String name, MimeType def[],
                                  Integer flags) {
  super(name, toStringArray(def), flags);
  this.type = "[Lorg.w3c.www.mime.MimeType;";
    }
}
TOP

Related Classes of org.w3c.tools.resources.upgrade.MimeTypeArrayAttribute

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.