diff options
author | Andrew Haley <aph@redhat.com> | 2016-09-30 16:24:48 +0000 |
---|---|---|
committer | Andrew Haley <aph@gcc.gnu.org> | 2016-09-30 16:24:48 +0000 |
commit | 07b78716af6a9d7c9fd1e94d9baf94a52c873947 (patch) | |
tree | 3f22b3241c513ad168c8353805614ae1249410f4 /libjava/classpath/javax/activation | |
parent | eae993948bae8b788c53772bcb9217c063716f93 (diff) | |
download | gcc-07b78716af6a9d7c9fd1e94d9baf94a52c873947.zip gcc-07b78716af6a9d7c9fd1e94d9baf94a52c873947.tar.gz gcc-07b78716af6a9d7c9fd1e94d9baf94a52c873947.tar.bz2 |
Makefile.def: Remove libjava.
2016-09-30 Andrew Haley <aph@redhat.com>
* Makefile.def: Remove libjava.
* Makefile.tpl: Likewise.
* Makefile.in: Regenerate.
* configure.ac: Likewise.
* configure: Likewise.
* gcc/java: Remove.
* libjava: Likewise.
From-SVN: r240662
Diffstat (limited to 'libjava/classpath/javax/activation')
21 files changed, 0 insertions, 4010 deletions
diff --git a/libjava/classpath/javax/activation/ActivationDataFlavor.java b/libjava/classpath/javax/activation/ActivationDataFlavor.java deleted file mode 100644 index 0ab5a80..0000000 --- a/libjava/classpath/javax/activation/ActivationDataFlavor.java +++ /dev/null @@ -1,161 +0,0 @@ -/* ActivationDataFlavor.java -- Activation-specific DataFlavor instance. - Copyright (C) 2004 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - -package javax.activation; - -import gnu.java.lang.CPStringBuilder; - -import java.awt.datatransfer.DataFlavor; -import java.io.InputStream; - -/** - * Activation-specific DataFlavor with improved MIME parsing. - * - * @author <a href='mailto:dog@gnu.org'>Chris Burdess</a> - * @version 1.0.2 - */ -public class ActivationDataFlavor extends DataFlavor -{ - - private final String mimeType; - private final Class<?> representationClass; - private String humanPresentableName; - - /** - * Constructor. - * @param representationClass the representation class - * @param mimeType the MIME type of the data - * @param humanPresentableName the human-presentable name of the data - * flavor - */ - // Raw types enforced as part of spec. - @SuppressWarnings("rawtypes") - public ActivationDataFlavor(Class representationClass, String mimeType, - String humanPresentableName) - { - super(mimeType, humanPresentableName); - this.mimeType = mimeType; - this.humanPresentableName = humanPresentableName; - this.representationClass = representationClass; - } - - /** - * Constructor. - * @param representationClass the representation class - * @param humanPresentableName the human-presentable name of the data - * flavor - */ - // Raw types enforced as part of spec. - @SuppressWarnings("rawtypes") - public ActivationDataFlavor(Class representationClass, - String humanPresentableName) - { - super(representationClass, humanPresentableName); - mimeType = super.getMimeType(); - this.representationClass = representationClass; - this.humanPresentableName = humanPresentableName; - } - - /** - * Constructor. The representation class is an InputStream. - * @param mimeType the MIME type of the data - * @param humanPresentableName the human-presentable name of the data - * flavor - */ - public ActivationDataFlavor(String mimeType, String humanPresentableName) - { - super(mimeType, humanPresentableName); - this.mimeType = mimeType; - this.humanPresentableName = humanPresentableName; - representationClass = InputStream.class; - } - - public String getMimeType() - { - return mimeType; - } - - // Raw types enforced as part of spec. - @SuppressWarnings("rawtypes") - public Class getRepresentationClass() - { - return representationClass; - } - - public String getHumanPresentableName() - { - return humanPresentableName; - } - - public void setHumanPresentableName(String humanPresentableName) - { - this.humanPresentableName = humanPresentableName; - } - - public boolean equals(DataFlavor dataFlavor) - { - return (isMimeTypeEqual(dataFlavor) && - dataFlavor.getRepresentationClass() == representationClass); - } - - public boolean isMimeTypeEqual(String mimeType) - { - try - { - return new MimeType(this.mimeType).match(new MimeType(mimeType)); - } - catch (MimeTypeParseException e) - { - return false; - } - } - - protected String normalizeMimeTypeParameter(String parameterName, - String parameterValue) - { - return new CPStringBuilder(parameterName) - .append('=') - .append(parameterValue) - .toString(); - } - - protected String normalizeMimeType(String mimeType) - { - return mimeType; - } - -} diff --git a/libjava/classpath/javax/activation/CommandInfo.java b/libjava/classpath/javax/activation/CommandInfo.java deleted file mode 100644 index c0b81e6..0000000 --- a/libjava/classpath/javax/activation/CommandInfo.java +++ /dev/null @@ -1,116 +0,0 @@ -/* CommandInfo.java -- Description of the result of a command request. - Copyright (C) 2004 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - -package javax.activation; - -import java.beans.Beans; -import java.io.Externalizable; -import java.io.InputStream; -import java.io.IOException; -import java.io.ObjectInputStream; - -/** - * Description of the result of a command request. - * - * @author <a href='mailto:dog@gnu.org'>Chris Burdess</a> - * @version 1.1 - */ -public class CommandInfo -{ - - private final String verb; - private final String className; - - /** - * Constructor. - * @param verb the command verb - * @param className the command class name - */ - public CommandInfo(String verb, String className) - { - this.verb = verb; - this.className = className; - } - - /** - * Returns the command verb. - */ - public String getCommandName() - { - return verb; - } - - /** - * Returns the command class name. - */ - public String getCommandClass() - { - return className; - } - - /** - * Returns the instantiated bean. - * If the bean implements <code>CommandObject</code>, its - * <code>setCommandContext</code> method will be called. - * @param dh the data handler describing the command data - * @param loader the class loader used to instantiate the bean - */ - public Object getCommandObject(DataHandler dh, ClassLoader loader) - throws IOException, ClassNotFoundException - { - Object object = Beans.instantiate(loader, className); - if (object != null) - { - if (object instanceof CommandObject) - { - CommandObject command = (CommandObject)object; - command.setCommandContext(verb, dh); - } - else if (dh != null && (object instanceof Externalizable)) - { - InputStream in = dh.getInputStream(); - if (in != null) - { - Externalizable externalizable = (Externalizable)object; - externalizable.readExternal(new ObjectInputStream(in)); - } - } - } - return object; - } - -} diff --git a/libjava/classpath/javax/activation/CommandMap.java b/libjava/classpath/javax/activation/CommandMap.java deleted file mode 100644 index dbe80a9..0000000 --- a/libjava/classpath/javax/activation/CommandMap.java +++ /dev/null @@ -1,211 +0,0 @@ -/* CommandMap.java -- Registry of available command objects. - Copyright (C) 2004, 2005 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - -package javax.activation; - -/** - * Registry of command objects available to the system. - * - * @author <a href='mailto:dog@gnu.org'>Chris Burdess</a> - * @version 1.1 - */ -public abstract class CommandMap -{ - - /* Class scope */ - - private static CommandMap defaultCommandMap; - - /** - * Returns the default command map. - * This returns a MailcapCommandMap if no value has been set using - * <code>setDefaultCommandMap</code>. - */ - public static CommandMap getDefaultCommandMap() - { - if (defaultCommandMap == null) - { - defaultCommandMap = new MailcapCommandMap(); - } - return defaultCommandMap; - } - - /** - * Sets the default command map. - * @param commandMap the new default command map - */ - public static void setDefaultCommandMap(CommandMap commandMap) - { - SecurityManager security = System.getSecurityManager(); - if (security != null) - { - try - { - security.checkSetFactory(); - } - catch (SecurityException e) - { - if (commandMap != null && CommandMap.class.getClassLoader() != - commandMap.getClass().getClassLoader()) - { - throw e; - } - } - } - defaultCommandMap = commandMap; - } - - /* Instance scope */ - - /** - * Returns the list of preferred commands for a MIME type. - * @param mimeType the MIME type - */ - public abstract CommandInfo[] getPreferredCommands(String mimeType); - - /** - * Returns the complete list of commands for a MIME type. - * @param mimeType the MIME type - */ - public abstract CommandInfo[] getAllCommands(String mimeType); - - /** - * Returns the command corresponding to the specified MIME type and - * command name. - * @param mimeType the MIME type - * @param cmdName the command name - */ - public abstract CommandInfo getCommand(String mimeType, String cmdName); - - /** - * Returns a DataContentHandler corresponding to the MIME type. - * @param mimeType the MIME type - */ - public abstract DataContentHandler createDataContentHandler(String mimeType); - - /** - * Get all the MIME types known to this command map. - * If the command map doesn't support this operation, null is returned. - * @return array of MIME types as strings, or null if not supported - * @since JAF 1.1 - */ - public String[] getMimeTypes() - { - return null; - } - - /** - * Get the preferred command list from a MIME Type. The actual semantics - * are determined by the implementation of the CommandMap. - * <p> - * The <code>DataSource</code> provides extra information, such as - * the file name, that a CommandMap implementation may use to further - * refine the list of commands that are returned. The implementation - * in this class simply calls the <code>getPreferredCommands</code> - * method that ignores this argument. - * @param mimeType the MIME type - * @param ds a DataSource for the data - * @return the CommandInfo classes that represent the command Beans. - * @since JAF 1.1 - */ - public CommandInfo[] getPreferredCommands(String mimeType, - DataSource ds) - { - return getPreferredCommands(mimeType); - } - - /** - * Get all the available commands for this type. This method - * should return all the possible commands for this MIME type. - * <p> - * The <code>DataSource</code> provides extra information, such as - * the file name, that a CommandMap implementation may use to further - * refine the list of commands that are returned. The implementation - * in this class simply calls the <code>getAllCommands</code> - * method that ignores this argument. - * @param mimeType the MIME type - * @param ds a DataSource for the data - * @return the CommandInfo objects representing all the commands. - * @since JAF 1.1 - */ - public CommandInfo[] getAllCommands(String mimeType, DataSource ds) - { - return getAllCommands(mimeType); - } - - /** - * Get the default command corresponding to the MIME type. - * <p> - * The <code>DataSource</code> provides extra information, such as - * the file name, that a CommandMap implementation may use to further - * refine the command that is chosen. The implementation - * in this class simply calls the <code>getCommand</code> - * method that ignores this argument. - * @param mimeType the MIME type - * @param cmdName the command name - * @param ds a DataSource for the data - * @return the CommandInfo corresponding to the command. - * @since JAF 1.1 - */ - public CommandInfo getCommand(String mimeType, String cmdName, - DataSource ds) - { - return getCommand(mimeType, cmdName); - } - - /** - * Locate a DataContentHandler that corresponds to the MIME type. - * The mechanism and semantics for determining this are determined - * by the implementation of the particular CommandMap. - * <p> - * The <code>DataSource</code> provides extra information, such as - * the file name, that a CommandMap implementation may use to further - * refine the choice of DataContentHandler. The implementation - * in this class simply calls the <code>createDataContentHandler</code> - * method that ignores this argument. - * @param mimeType the MIME type - * @param ds a DataSource for the data - * @return the DataContentHandler for the MIME type - * @since JAF 1.1 - */ - public DataContentHandler createDataContentHandler(String mimeType, - DataSource ds) - { - return createDataContentHandler(mimeType); - } - -} diff --git a/libjava/classpath/javax/activation/CommandObject.java b/libjava/classpath/javax/activation/CommandObject.java deleted file mode 100644 index f89a976..0000000 --- a/libjava/classpath/javax/activation/CommandObject.java +++ /dev/null @@ -1,61 +0,0 @@ -/* CommandObject.java -- Bean interface for notifications. - Copyright (C) 2004 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - -package javax.activation; - -import java.io.IOException; - -/** - * Bean interface to implement in order to receive notification of the - * command verb. - * - * @author <a href='mailto:dog@gnu.org'>Chris Burdess</a> - * @version 1.1 - */ -public interface CommandObject -{ - - /** - * Initializes the command with the verb it is expected to perform and - * the data handler describing the data to operate on. - * @param verb the command verb - * @param dh the data handler describing the data to process - */ - void setCommandContext(String verb, DataHandler dh) - throws IOException; - -} diff --git a/libjava/classpath/javax/activation/DataContentHandler.java b/libjava/classpath/javax/activation/DataContentHandler.java deleted file mode 100644 index be919c2..0000000 --- a/libjava/classpath/javax/activation/DataContentHandler.java +++ /dev/null @@ -1,84 +0,0 @@ -/* DataContentHandler.java -- Converts streams to objects and vice versa. - Copyright (C) 2004 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - -package javax.activation; - -import java.awt.datatransfer.DataFlavor; -import java.awt.datatransfer.UnsupportedFlavorException; -import java.io.IOException; -import java.io.OutputStream; - -/** - * Provider that can convert streams to objects and vice versa. - * - * @author <a href='mailto:dog@gnu.org'>Chris Burdess</a> - * @version 1.1 - */ -public interface DataContentHandler -{ - - /** - * Returns a list of the flavors that data can be provided in, ordered - * by preference. - */ - DataFlavor[] getTransferDataFlavors(); - - /** - * Returns an object representing the data to be transferred. - * @param df the flavor representing the requested type - * @param ds the data source of the data to be converted - */ - Object getTransferData(DataFlavor df, DataSource ds) - throws UnsupportedFlavorException, IOException; - - /** - * Returns an object representing the data in its most preferred form. - * @param ds the data source of the data to be converted - */ - Object getContent(DataSource ds) - throws IOException; - - /** - * Writes the object as a stream of bytes. - * @param obj the object to convert - * @param mimeType the MIME type of the stream - * @param os the byte stream - */ - void writeTo(Object obj, String mimeType, OutputStream os) - throws IOException; - -} diff --git a/libjava/classpath/javax/activation/DataContentHandlerFactory.java b/libjava/classpath/javax/activation/DataContentHandlerFactory.java deleted file mode 100644 index 815c1a9..0000000 --- a/libjava/classpath/javax/activation/DataContentHandlerFactory.java +++ /dev/null @@ -1,55 +0,0 @@ -/* DataContentHandlerFactory.java -- Factory for creating DataContentHandlers. - Copyright (C) 2004 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - -package javax.activation; - -/** - * Factory interface for creating data content handlers. - * - * @author <a href='mailto:dog@gnu.org'>Chris Burdess</a> - * @version 1.1 - */ -public interface DataContentHandlerFactory -{ - - /** - * Returns a new data content handler for the specified MIME type. - * @param mimeType the MIME type - */ - DataContentHandler createDataContentHandler(String mimeType); - -} diff --git a/libjava/classpath/javax/activation/DataHandler.java b/libjava/classpath/javax/activation/DataHandler.java deleted file mode 100644 index 63ad0c4..0000000 --- a/libjava/classpath/javax/activation/DataHandler.java +++ /dev/null @@ -1,481 +0,0 @@ -/* DataHandler.java -- Handler for data available in multiple formats. - Copyright (C) 2004 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - -package javax.activation; - -import java.awt.datatransfer.DataFlavor; -import java.awt.datatransfer.Transferable; -import java.awt.datatransfer.UnsupportedFlavorException; -import java.io.InputStream; -import java.io.IOException; -import java.io.OutputStream; -import java.io.PipedInputStream; -import java.io.PipedOutputStream; -import java.net.URL; - -/** - * Handler for data available in multiple sources and formats. - * - * @author <a href='mailto:dog@gnu.org'>Chris Burdess</a> - * @version 1.1 - */ -public class DataHandler - implements Transferable -{ - - private static final DataFlavor[] NO_FLAVORS = new DataFlavor[0]; - private static DataContentHandlerFactory factory = null; - - private final DataSource dataSource; - private DataSource objDataSource; - private Object object; - private String objectMimeType; - private CommandMap currentCommandMap; - private DataFlavor[] transferFlavors = NO_FLAVORS; - private DataContentHandler dataContentHandler; - private DataContentHandler factoryDCH; - private DataContentHandlerFactory oldFactory; - private String shortType; - - /** - * Constructor in which the data is read from a data source. - * @param ds the data source - */ - public DataHandler(DataSource ds) - { - dataSource = ds; - oldFactory = factory; - } - - /** - * Constructor using a reified object representation. - * @param obj the object representation of the data - * @param mimeType the MIME type of the object - */ - public DataHandler(Object obj, String mimeType) - { - dataSource = null; - object = obj; - objectMimeType = mimeType; - oldFactory = factory; - } - - /** - * Constructor in which the data is read from a URL. - * @param url the URL - */ - public DataHandler(URL url) - { - dataSource = new URLDataSource(url); - oldFactory = factory; - } - - /** - * Returns the data source from which data is read. - */ - public DataSource getDataSource() - { - if (dataSource != null) - { - return dataSource; - } - if (objDataSource == null) - { - objDataSource = new DataHandlerDataSource(this); - } - return objDataSource; - } - - /** - * Returns the name of the data object if created with a DataSource. - */ - public String getName() - { - if (dataSource != null) - { - return dataSource.getName(); - } - return null; - } - - /** - * Returns the MIME type of the data (with parameters). - */ - public String getContentType() - { - if (dataSource != null) - { - return dataSource.getContentType(); - } - return objectMimeType; - } - - /** - * Returns an input stream from which the data can be read. - */ - public InputStream getInputStream() - throws IOException - { - if (dataSource != null) - { - return dataSource.getInputStream(); - } - DataContentHandler dch = getDataContentHandler(); - if (dch == null) - { - throw new UnsupportedDataTypeException("no DCH for MIME type " + - getShortType()); - } - if ((dch instanceof ObjectDataContentHandler) && - ((ObjectDataContentHandler)dch).getDCH() == null) - { - throw new UnsupportedDataTypeException("no object DCH " + - "for MIME type " + - getShortType()); - } - PipedOutputStream pos = new PipedOutputStream(); - DataContentHandlerWriter dchw = - new DataContentHandlerWriter(dch, object, objectMimeType, pos); - Thread thread = new Thread(dchw, "DataHandler.getInputStream"); - thread.start(); - return new PipedInputStream(pos); - } - - static class DataContentHandlerWriter - implements Runnable - { - - DataContentHandler dch; - Object object; - String mimeType; - OutputStream out; - - DataContentHandlerWriter(DataContentHandler dch, Object object, - String mimeType, OutputStream out) - { - this.dch = dch; - this.object = object; - this.mimeType = mimeType; - this.out = out; - } - - public void run() - { - try - { - dch.writeTo(object, mimeType, out); - } - catch(IOException e) - { - } - finally - { - try - { - out.close(); - } - catch(IOException e) - { - } - } - } - } - - /** - * Writes the data as a byte stream. - * @param os the stream to write to - */ - public void writeTo(OutputStream os) - throws IOException - { - if (dataSource != null) - { - InputStream in = dataSource.getInputStream(); - byte[] buf = new byte[8192]; - for (int len = in.read(buf); len != -1; len = in.read(buf)) - { - os.write(buf, 0, len); - } - in.close(); - } - else - { - DataContentHandler dch = getDataContentHandler(); - dch.writeTo(object, objectMimeType, os); - } - } - - /** - * Returns an output stream that can be used to overwrite the underlying - * data, if the DataSource constructor was used. - */ - public OutputStream getOutputStream() - throws IOException - { - if (dataSource != null) - { - return dataSource.getOutputStream(); - } - return null; - } - - /** - * Returns the data flavors in which this data is available. - */ - public synchronized DataFlavor[] getTransferDataFlavors() - { - if (factory != oldFactory || transferFlavors == NO_FLAVORS) - { - DataContentHandler dch = getDataContentHandler(); - transferFlavors = dch.getTransferDataFlavors(); - } - return transferFlavors; - } - - /** - * Indicates whether the specified data flavor is supported for this - * data. - */ - public boolean isDataFlavorSupported(DataFlavor flavor) - { - DataFlavor[] flavors = getTransferDataFlavors(); - for (int i = 0; i < flavors.length; i++) - { - if (flavors[i].equals(flavor)) - { - return true; - } - } - return false; - } - - /** - * Returns an object representing the data to be transferred. - * @param flavor the requested data flavor - */ - public Object getTransferData(DataFlavor flavor) - throws UnsupportedFlavorException, IOException - { - DataContentHandler dch = getDataContentHandler(); - return dch.getTransferData(flavor, dataSource); - } - - /** - * Sets the command map to be used by this data handler. - * Setting to null uses the default command map. - * @param commandMap the command map to use - */ - public synchronized void setCommandMap(CommandMap commandMap) - { - if (commandMap != currentCommandMap || commandMap == null) - { - transferFlavors = NO_FLAVORS; - dataContentHandler = null; - currentCommandMap = commandMap; - } - } - - /** - * Returns the preferred commands for this type of data. - */ - public CommandInfo[] getPreferredCommands() - { - CommandMap commandMap = getCommandMap(); - return commandMap.getPreferredCommands(getShortType()); - } - - /** - * Returns the complete list of commands for this type of data. - */ - public CommandInfo[] getAllCommands() - { - CommandMap commandMap = getCommandMap(); - return commandMap.getAllCommands(getShortType()); - } - - /** - * Returns the specified command. - * @param cmdName the command name - */ - public CommandInfo getCommand(String cmdName) - { - CommandMap commandMap = getCommandMap(); - return commandMap.getCommand(getShortType(), cmdName); - } - - /** - * Returns the data as a reified object. - */ - public Object getContent() - throws IOException - { - DataContentHandler dch = getDataContentHandler(); - return dch.getContent(getDataSource()); - } - - /** - * Returns the instantiated bean using the specified command. - * @param cmdInfo the command to instantiate the bean with - */ - public Object getBean(CommandInfo cmdInfo) - { - try - { - return cmdInfo.getCommandObject(this, getClass().getClassLoader()); - } - catch (IOException e) - { - e.printStackTrace(System.err); - return null; - } - catch (ClassNotFoundException e) - { - e.printStackTrace(System.err); - return null; - } - } - - /** - * Sets the data content handler factory. - * If the factory has already been set, throws an Error. - * @param newFactory the factory to set - */ - public static synchronized void - setDataContentHandlerFactory(DataContentHandlerFactory newFactory) - { - if (factory != null) - { - throw new Error("DataContentHandlerFactory already defined"); - } - SecurityManager security = System.getSecurityManager(); - if (security != null) - { - try - { - security.checkSetFactory(); - } - catch (SecurityException e) - { - if (newFactory != null && DataHandler.class.getClassLoader() - != newFactory.getClass().getClassLoader()) - { - throw e; - } - } - } - factory = newFactory; - } - - /* - * Returns just the base part of the data's content-type, with no - * parameters. - */ - private synchronized String getShortType() - { - if (shortType == null) - { - String contentType = getContentType(); - try - { - MimeType mimeType = new MimeType(contentType); - shortType = mimeType.getBaseType(); - } - catch (MimeTypeParseException e) - { - shortType = contentType; - } - } - return shortType; - } - - /* - * Returns the command map for this handler. - */ - private synchronized CommandMap getCommandMap() - { - if (currentCommandMap != null) - { - return currentCommandMap; - } - return CommandMap.getDefaultCommandMap(); - } - - /* - * Returns the DCH for this handler. - */ - private synchronized DataContentHandler getDataContentHandler() - { - if (factory != oldFactory) - { - oldFactory = factory; - factoryDCH = null; - dataContentHandler = null; - transferFlavors = NO_FLAVORS; - } - if (dataContentHandler != null) - { - return dataContentHandler; - } - String mimeType = getShortType(); - if (factoryDCH == null && factory != null) - { - factoryDCH = factory.createDataContentHandler(mimeType); - } - if (factoryDCH != null) - { - dataContentHandler = factoryDCH; - } - if (dataContentHandler == null) - { - CommandMap commandMap = getCommandMap(); - dataContentHandler = commandMap.createDataContentHandler(mimeType); - } - if (dataSource != null) - { - dataContentHandler = - new DataSourceDataContentHandler(dataContentHandler, dataSource); - } - else - { - dataContentHandler = - new ObjectDataContentHandler(dataContentHandler, object, - objectMimeType); - } - return dataContentHandler; - } - -} diff --git a/libjava/classpath/javax/activation/DataHandlerDataSource.java b/libjava/classpath/javax/activation/DataHandlerDataSource.java deleted file mode 100644 index 9781b39..0000000 --- a/libjava/classpath/javax/activation/DataHandlerDataSource.java +++ /dev/null @@ -1,83 +0,0 @@ -/* DataHandlerDataSource.java -- Data source proxy for a DataHandler. - Copyright (C) 2004 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - -package javax.activation; - -import java.io.InputStream; -import java.io.IOException; -import java.io.OutputStream; - -/** - * Data source that is a proxy for a data handler. - * - * @author <a href='mailto:dog@gnu.org'>Chris Burdess</a> - * @version 1.1 - */ -final class DataHandlerDataSource - implements DataSource -{ - - final DataHandler dh; - - DataHandlerDataSource(DataHandler dh) - { - this.dh = dh; - } - - public String getContentType() - { - return dh.getContentType(); - } - - public InputStream getInputStream() - throws IOException - { - return dh.getInputStream(); - } - - public String getName() - { - return dh.getName(); - } - - public OutputStream getOutputStream() - throws IOException - { - return dh.getOutputStream(); - } - -} diff --git a/libjava/classpath/javax/activation/DataSource.java b/libjava/classpath/javax/activation/DataSource.java deleted file mode 100644 index c4da9d3..0000000 --- a/libjava/classpath/javax/activation/DataSource.java +++ /dev/null @@ -1,75 +0,0 @@ -/* DataSource.java -- An interface for MIME data storage and retrieval. - Copyright (C) 2004 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - -package javax.activation; - -import java.io.InputStream; -import java.io.IOException; -import java.io.OutputStream; - -/** - * An interface by which MIME data can be retrieved and stored. - * - * @author <a href='mailto:dog@gnu.org'>Chris Burdess</a> - * @version 1.1 - */ -public interface DataSource -{ - - /** - * Returns an input stream from which the data can be read. - */ - InputStream getInputStream() - throws IOException; - - /** - * Returns an output stream to which the data can be written. - */ - OutputStream getOutputStream() - throws IOException; - - /** - * Returns the MIME content type of the data. - */ - String getContentType(); - - /** - * Returns the underlying name of this object. - */ - String getName(); - -} diff --git a/libjava/classpath/javax/activation/DataSourceDataContentHandler.java b/libjava/classpath/javax/activation/DataSourceDataContentHandler.java deleted file mode 100644 index 8b16fd1..0000000 --- a/libjava/classpath/javax/activation/DataSourceDataContentHandler.java +++ /dev/null @@ -1,125 +0,0 @@ -/* DataSourceDataContentHolder.java -- DCH using an existing data source. - Copyright (C) 2004 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - -package javax.activation; - -import java.awt.datatransfer.DataFlavor; -import java.awt.datatransfer.UnsupportedFlavorException; -import java.io.IOException; -import java.io.OutputStream; - -/** - * Data content handler using an existing DCH and a data source. - * - * @author <a href='mailto:dog@gnu.org'>Chris Burdess</a> - * @version 1.1 - */ -class DataSourceDataContentHandler - implements DataContentHandler -{ - - private DataSource ds; - private DataFlavor[] flavors; - private DataContentHandler dch; - - public DataSourceDataContentHandler(DataContentHandler dch, DataSource ds) - { - this.ds = ds; - this.dch = dch; - } - - public Object getContent(DataSource ds) - throws IOException - { - if (dch != null) - { - return dch.getContent(ds); - } - else - { - return ds.getInputStream(); - } - } - - public Object getTransferData(DataFlavor flavor, DataSource ds) - throws UnsupportedFlavorException, IOException - { - if (dch != null) - { - return dch.getTransferData(flavor, ds); - } - DataFlavor[] tdf = getTransferDataFlavors(); - if (tdf.length > 0 && flavor.equals(tdf[0])) - { - return ds.getInputStream(); - } - else - { - throw new UnsupportedFlavorException(flavor); - } - } - - public DataFlavor[] getTransferDataFlavors() - { - if (flavors == null) - { - if (dch != null) - { - flavors = dch.getTransferDataFlavors(); - } - else - { - String mimeType = ds.getContentType(); - flavors = new DataFlavor[1]; - flavors[0] = new ActivationDataFlavor(mimeType, mimeType); - } - } - return flavors; - } - - public void writeTo(Object obj, String mimeType, OutputStream out) - throws IOException - { - if (dch == null) - { - throw new UnsupportedDataTypeException("no DCH for content type " + - ds.getContentType()); - } - dch.writeTo(obj, mimeType, out); - } - -} diff --git a/libjava/classpath/javax/activation/FileDataSource.java b/libjava/classpath/javax/activation/FileDataSource.java deleted file mode 100644 index 72ef066..0000000 --- a/libjava/classpath/javax/activation/FileDataSource.java +++ /dev/null @@ -1,122 +0,0 @@ -/* FileDataSource.java -- Data source for a File object. - Copyright (C) 2004 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - -package javax.activation; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.InputStream; -import java.io.IOException; -import java.io.OutputStream; - -/** - * Data source encapsulating a file. - * - * @author <a href='mailto:dog@gnu.org'>Chris Burdess</a> - * @version 1.1 - */ -public class FileDataSource - implements DataSource -{ - - private final File file; - private FileTypeMap typeMap; - - /** - * Constructor. - * @param file the underlying file to use - */ - public FileDataSource(File file) - { - this.file = file; - } - - /** - * Constructor. - * @param name the path to the underlying file to use - */ - public FileDataSource(String name) - { - this(new File(name)); - } - - public InputStream getInputStream() - throws IOException - { - return new FileInputStream(file); - } - - public OutputStream getOutputStream() - throws IOException - { - return new FileOutputStream(file); - } - - public String getContentType() - { - if (typeMap == null) - { - FileTypeMap dftm = FileTypeMap.getDefaultFileTypeMap(); - return dftm.getContentType(file); - } - return typeMap.getContentType(file); - } - - public String getName() - { - return file.getName(); - } - - /** - * Returns the underlying file. - */ - public File getFile() - { - return file; - } - - /** - * Sets the file type map to use to determine the content type of the file. - * @param map the file type map - */ - public void setFileTypeMap(FileTypeMap map) - { - typeMap = map; - } - -} diff --git a/libjava/classpath/javax/activation/FileTypeMap.java b/libjava/classpath/javax/activation/FileTypeMap.java deleted file mode 100644 index bbd088c..0000000 --- a/libjava/classpath/javax/activation/FileTypeMap.java +++ /dev/null @@ -1,107 +0,0 @@ -/* FileTypeMap.java -- Classifies the MIME content of files. - Copyright (C) 2004 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - -package javax.activation; - -import java.io.File; - -/** - * Classifier for the MIME content type of files. - * - * @author <a href='mailto:dog@gnu.org'>Chris Burdess</a> - * @version 1.1 - */ -public abstract class FileTypeMap -{ - - /* Class scope */ - - private static FileTypeMap defaultMap; - - /** - * Returns the system default file type map. - * If one has not been set, this returns a MimetypesFileTypeMap. - */ - public static FileTypeMap getDefaultFileTypeMap() - { - if (defaultMap == null) - { - defaultMap = new MimetypesFileTypeMap(); - } - return defaultMap; - } - - /** - * Sets the default file type map. - * @param map the new file type map - */ - public static void setDefaultFileTypeMap(FileTypeMap map) - { - SecurityManager security = System.getSecurityManager(); - if (security != null) - { - try - { - security.checkSetFactory(); - } - catch (SecurityException e) - { - if (map != null && FileTypeMap.class.getClassLoader() != - map.getClass().getClassLoader()) - { - throw e; - } - } - } - defaultMap = map; - } - - /* Instance scope */ - - /** - * Returns the content type of the specified file. - * @param file the file to classify - */ - public abstract String getContentType(File file); - - /** - * Returns the content type of the specified file path. - * @param filename the path of the file to classify - */ - public abstract String getContentType(String filename); - -} diff --git a/libjava/classpath/javax/activation/MailcapCommandMap.java b/libjava/classpath/javax/activation/MailcapCommandMap.java deleted file mode 100644 index 48b1bbb..0000000 --- a/libjava/classpath/javax/activation/MailcapCommandMap.java +++ /dev/null @@ -1,803 +0,0 @@ -/* MailcapCommandMap.java -- Command map implementation using a mailcap file. - Copyright (C) 2004 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - -package javax.activation; - -import gnu.java.lang.CPStringBuilder; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.IOException; -import java.io.Reader; -import java.io.StringReader; -import java.net.URL; -import java.util.ArrayList; -import java.util.Enumeration; -import java.util.LinkedHashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -/** - * Implementation of a command map using a <code>mailcap</code> file (RFC - * 1524). Mailcap files are searched for in the following places: - * <ol> - * <li>Programmatically added entries to this interface</li> - * <li>the file <tt>.mailcap</tt> in the user's home directory</li> - * <li>the file <i><java.home></i><tt>/lib/mailcap</tt></li> - * <li>the resource <tt>META-INF/mailcap</tt></li> - * <li>the resource <tt>META-INF/mailcap.default</tt> in the JAF - * distribution</li> - * </ol> - * - * @author <a href='mailto:dog@gnu.org'>Chris Burdess</a> - * @version 1.1 - */ -public class MailcapCommandMap - extends CommandMap -{ - - private static final int PROG = 0; - private static final int HOME = 1; - private static final int SYS = 2; - private static final int JAR = 3; - private static final int DEF = 4; - private static boolean debug = false; - private static final int NORMAL = 0; - private static final int FALLBACK = 1; - - static - { - try - { - String d = System.getProperty("javax.activation.debug"); - debug = Boolean.valueOf(d).booleanValue(); - } - catch (SecurityException e) - { - } - } - - private Map<String,Map<String,List<String>>>[][] mailcaps; - - /** - * Default constructor. - */ - public MailcapCommandMap() - { - init(null); - } - - /** - * Constructor specifying a filename. - * @param fileName the name of the file to read mailcap entries from - */ - public MailcapCommandMap(String fileName) - throws IOException - { - Reader in = null; - try - { - in = new FileReader(fileName); - } - catch (IOException e) - { - } - init(in); - if (in != null) - { - try - { - in.close(); - } - catch (IOException e) - { - } - } - } - - /** - * Constructor specifying an input stream. - * @param is the input stream to read mailcap entries from - */ - public MailcapCommandMap(InputStream is) - { - init(new InputStreamReader(is)); - } - - private void init(Reader in) - { - mailcaps = new Map[5][2]; - for (int i = 0; i < 5; i++) - { - for (int j = 0; j < 2; j++) - { - mailcaps[i][j] = - new LinkedHashMap<String,Map<String,List<String>>>(); - } - } - if (in != null) - { - if (debug) - { - System.out.println("MailcapCommandMap: load PROG"); - } - try - { - parse(PROG, in); - } - catch (IOException e) - { - } - } - - if (debug) - { - System.out.println("MailcapCommandMap: load HOME"); - } - try - { - String home = System.getProperty("user.home"); - if (home != null) - { - parseFile(HOME, new CPStringBuilder(home) - .append(File.separatorChar) - .append(".mailcap") - .toString()); - } - } - catch (SecurityException e) - { - } - - if (debug) - { - System.out.println("MailcapCommandMap: load SYS"); - } - try - { - parseFile(SYS, - new CPStringBuilder(System.getProperty("java.home")) - .append(File.separatorChar) - .append("lib") - .append(File.separatorChar) - .append("mailcap") - .toString()); - } - catch (SecurityException e) - { - } - - if (debug) - { - System.out.println("MailcapCommandMap: load JAR"); - } - List<URL> systemResources = getSystemResources("META-INF/mailcap"); - int len = systemResources.size(); - if (len > 0) - { - for (int i = 0; i < len ; i++) - { - Reader urlIn = null; - URL url = systemResources.get(i); - try - { - if (debug) - { - System.out.println("\t" + url.toString()); - } - urlIn = new InputStreamReader(url.openStream()); - parse(JAR, urlIn); - } - catch (IOException e) - { - if (debug) - { - System.out.println(e.getClass().getName() + ": " + - e.getMessage()); - } - } - finally - { - if (urlIn != null) - { - try - { - urlIn.close(); - } - catch (IOException e) - { - } - } - } - } - } - else - { - parseResource(JAR, "/META-INF/mailcap"); - } - - if (debug) - { - System.out.println("MailcapCommandMap: load DEF"); - } - parseResource(DEF, "/META-INF/mailcap.default"); - } - - /** - * Returns the list of preferred commands for a given MIME type. - * @param mimeType the MIME type - */ - public synchronized CommandInfo[] getPreferredCommands(String mimeType) - { - List<CommandInfo> cmdList = new ArrayList<CommandInfo>(); - List<String> verbList = new ArrayList<String>(); - for (int i = 0; i < 2; i++) - { - for (int j = 0; j < 5; j++) - { - Map<String,List<String>> map = getCommands(mailcaps[j][i], mimeType); - if (map != null) - { - for (Map.Entry<String,List<String>> entry : map.entrySet()) - { - String verb = entry.getKey(); - if (!verbList.contains(verb)) - { - List<String> classNames = entry.getValue(); - String className = classNames.get(0); - CommandInfo cmd = new CommandInfo(verb, className); - cmdList.add(cmd); - verbList.add(verb); - } - } - } - } - } - CommandInfo[] cmds = new CommandInfo[cmdList.size()]; - cmdList.toArray(cmds); - return cmds; - } - - /** - * Returns all commands for the given MIME type. - * @param mimeType the MIME type - */ - public synchronized CommandInfo[] getAllCommands(String mimeType) - { - List<CommandInfo> cmdList = new ArrayList<CommandInfo>(); - for (int i = 0; i < 2; i++) - { - for (int j = 0; j < 5; j++) - { - Map<String,List<String>> map = getCommands(mailcaps[j][i], mimeType); - if (map != null) - { - for (Map.Entry<String,List<String>> entry : map.entrySet()) - { - String verb = entry.getKey(); - List<String> classNames = entry.getValue(); - int len = classNames.size(); - for (int l = 0; l < len; l++) - { - String className = classNames.get(l); - CommandInfo cmd = new CommandInfo(verb, className); - cmdList.add(cmd); - } - } - } - } - } - CommandInfo[] cmds = new CommandInfo[cmdList.size()]; - cmdList.toArray(cmds); - return cmds; - } - - /** - * Returns the command with the specified name for the given MIME type. - * @param mimeType the MIME type - * @param cmdName the command verb - */ - public synchronized CommandInfo getCommand(String mimeType, - String cmdName) - { - for (int i = 0; i < 2; i++) - { - for (int j = 0; j < 5; j++) - { - Map<String,List<String>> map = - getCommands(mailcaps[j][i], mimeType); - if (map != null) - { - List<String> classNames = map.get(cmdName); - if (classNames == null) - { - classNames = map.get("x-java-" + cmdName); - } - if (classNames != null) - { - String className = classNames.get(0); - return new CommandInfo(cmdName, className); - } - } - } - } - return null; - } - - /** - * Adds entries programmatically to the registry. - * @param mailcap a mailcap string - */ - public synchronized void addMailcap(String mailcap) - { - if (debug) - { - System.out.println("MailcapCommandMap: add to PROG"); - } - try - { - parse(PROG, new StringReader(mailcap)); - } - catch (IOException e) - { - } - } - - /** - * Returns the DCH for the specified MIME type. - * @param mimeType the MIME type - */ - public synchronized DataContentHandler - createDataContentHandler(String mimeType) - { - if (debug) - { - System.out.println("MailcapCommandMap: " + - "createDataContentHandler for " + mimeType); - } - for (int i = 0; i < 2; i++) - { - for (int j = 0; j < 5; j++) - { - if (debug) - { - System.out.println(" search DB #" + i); - } - Map<String,List<String>> map = getCommands(mailcaps[j][i], mimeType); - if (map != null) - { - List<String> classNames = map.get("content-handler"); - if (classNames == null) - { - classNames = map.get("x-java-content-handler"); - } - if (classNames != null) - { - String className = classNames.get(0); - if (debug) - { - System.out.println(" In " + nameOf(j) + - ", content-handler=" + className); - } - try - { - Class<?> clazz = Class.forName(className); - return (DataContentHandler)clazz.newInstance(); - } - catch (IllegalAccessException e) - { - if (debug) - { - e.printStackTrace(); - } - } - catch (ClassNotFoundException e) - { - if (debug) - { - e.printStackTrace(); - } - } - catch (InstantiationException e) - { - if (debug) - { - e.printStackTrace(); - } - } - } - } - } - } - return null; - } - - /** - * Get the native commands for the given MIME type. - * Returns an array of strings where each string is - * an entire mailcap file entry. The application - * will need to parse the entry to extract the actual - * command as well as any attributes it needs. See - * <a href="http://www.ietf.org/rfc/rfc1524.txt">RFC 1524</a> - * for details of the mailcap entry syntax. Only mailcap - * entries that specify a view command for the specified - * MIME type are returned. - * @return array of native command entries - * @since JAF 1.1 - */ - public String[] getNativeCommands(String mimeType) - { - List<String> acc = new ArrayList<String>(); - for (int i = 0; i < 2; i++) - { - for (int j = 0; j < 5; j++) - { - addNativeCommands(acc, mailcaps[j][i], mimeType); - } - } - String[] ret = new String[acc.size()]; - acc.toArray(ret); - return ret; - } - - private void addNativeCommands(List<String> acc, - Map<String,Map<String,List<String>>> mailcap, - String mimeType) - { - for (Map.Entry<String,Map<String,List<String>>> mEntry : mailcap.entrySet()) - { - String entryMimeType = mEntry.getKey(); - if (!entryMimeType.equals(mimeType)) - { - continue; - } - Map<String,List<String>> commands = mEntry.getValue(); - String viewCommand = commands.get("view-command").get(0); - if (viewCommand == null) - { - continue; - } - CPStringBuilder buf = new CPStringBuilder(); - buf.append(mimeType); - buf.append(';'); - buf.append(' '); - buf.append(viewCommand); - for (Map.Entry<String,List<String>> cEntry : commands.entrySet()) - { - String verb = cEntry.getKey(); - List<String> classNames = cEntry.getValue(); - if (!"view-command".equals(verb)) - { - for (String command : classNames) - { - buf.append(';'); - buf.append(' '); - buf.append(verb); - buf.append('='); - buf.append(command); - } - } - } - if (buf.length() > 0) - { - acc.add(buf.toString()); - } - } - } - - private static String nameOf(int mailcap) - { - switch (mailcap) - { - case PROG: - return "PROG"; - case HOME: - return "HOME"; - case SYS: - return "SYS"; - case JAR: - return "JAR"; - case DEF: - return "DEF"; - default: - return "ERR"; - } - } - - private void parseFile(int index, String filename) - { - Reader in = null; - try - { - if (debug) - { - System.out.println("\t" + filename); - } - in = new FileReader(filename); - parse(index, in); - } - catch (IOException e) - { - if (debug) - { - System.out.println(e.getClass().getName() + ": " + - e.getMessage()); - } - } - finally - { - if (in != null) - { - try - { - in.close(); - } - catch (IOException e) - { - } - } - } - } - - private void parseResource(int index, String name) - { - Reader in = null; - try - { - InputStream is = getClass().getResourceAsStream(name); - if (is != null) - { - if (debug) - { - System.out.println("\t" + name); - } - in = new InputStreamReader(is); - parse(index, in); - } - } - catch (IOException e) - { - if (debug) - { - System.out.println(e.getClass().getName() + ": " + - e.getMessage()); - } - } - finally - { - if (in != null) - { - try - { - in.close(); - } - catch (IOException e) - { - } - } - } - } - - private void parse(int index, Reader in) - throws IOException - { - BufferedReader br = new BufferedReader(in); - CPStringBuilder buf = null; - for (String line = br.readLine(); line != null; line = br.readLine()) - { - line = line.trim(); - int len = line.length(); - if (len == 0 || line.charAt(0) == '#') - { - continue; // Comment - } - if (line.charAt(len - 1) == '\\') - { - if (buf == null) - { - buf = new CPStringBuilder(); - } - buf.append(line.substring(0, len - 1)); - } - else if (buf != null) - { - buf.append(line); - parseEntry(index, buf.toString()); - buf = null; - } - else - { - parseEntry(index, line); - } - } - } - - private void parseEntry(int index, String line) - { - // Tokenize entry into fields - char[] chars = line.toCharArray(); - int len = chars.length; - boolean inQuotedString = false; - boolean fallback = false; - CPStringBuilder buffer = new CPStringBuilder(); - List<String> fields = new ArrayList<String>(); - for (int i = 0; i < len; i++) - { - char c = chars[i]; - if (c == '\\') - { - c = chars[++i]; // qchar - } - if (c == ';' && !inQuotedString) - { - String field = buffer.toString().trim(); - if ("x-java-fallback-entry".equals(field)) - { - fallback = true; - } - fields.add(field); - buffer.setLength(0); - } - else - { - if (c == '"') - { - inQuotedString = !inQuotedString; - } - buffer.append(c); - } - } - String field = buffer.toString().trim(); - if ("x-java-fallback-entry".equals(field)) - { - fallback = true; - } - fields.add(field); - - len = fields.size(); - if (len < 2) - { - if (debug) - { - System.err.println("Invalid mailcap entry: " + line); - } - return; - } - - Map<String,Map<String,List<String>>> mailcap = - fallback ? mailcaps[index][FALLBACK] : mailcaps[index][NORMAL]; - String mimeType = fields.get(0); - addField(mailcap, mimeType, "view-command", (String) fields.get(1)); - for (int i = 2; i < len; i++) - { - addField(mailcap, mimeType, null, (String) fields.get(i)); - } - } - - private void addField(Map<String,Map<String,List<String>>> mailcap, - String mimeType, String verb, String command) - { - if (verb == null) - { - int ei = command.indexOf('='); - if (ei != -1) - { - verb = command.substring(0, ei); - command = command.substring(ei + 1); - } - } - if (command.length() == 0 || verb == null || verb.length() == 0) - { - return; // Invalid field or flag - } - - Map<String,List<String>> commands = mailcap.get(mimeType); - if (commands == null) - { - commands = new LinkedHashMap<String,List<String>>(); - mailcap.put(mimeType, commands); - } - List<String> classNames = commands.get(verb); - if (classNames == null) - { - classNames = new ArrayList<String>(); - commands.put(verb, classNames); - } - classNames.add(command); - } - - private Map<String,List<String>> - getCommands(Map<String,Map<String,List<String>>> mailcap, - String mimeType) - { - int si = mimeType.indexOf('/'); - String genericMimeType = new CPStringBuilder(mimeType.substring(0, si)) - .append('/') - .append('*') - .toString(); - Map<String,List<String>> specific = mailcap.get(mimeType); - Map<String,List<String>> generic = mailcap.get(genericMimeType); - if (generic == null) - { - return specific; - } - if (specific == null) - { - return generic; - } - Map<String,List<String>> combined = new LinkedHashMap<String,List<String>>(); - combined.putAll(specific); - for (String verb : generic.keySet()) - { - List<String> genericClassNames = generic.get(verb); - List<String> classNames = combined.get(verb); - if (classNames == null) - { - combined.put(verb, genericClassNames); - } - else - { - classNames.addAll(genericClassNames); - } - } - return combined; - } - - // -- Utility methods -- - - private List<URL> getSystemResources(String name) - { - List<URL> acc = new ArrayList<URL>(); - try - { - for (Enumeration<URL> i = ClassLoader.getSystemResources(name); - i.hasMoreElements(); ) - { - acc.add(i.nextElement()); - } - } - catch (IOException e) - { - } - return acc; - } - -} diff --git a/libjava/classpath/javax/activation/MimeType.java b/libjava/classpath/javax/activation/MimeType.java deleted file mode 100644 index bc3afc1..0000000 --- a/libjava/classpath/javax/activation/MimeType.java +++ /dev/null @@ -1,292 +0,0 @@ -/* MimeType.java -- A MIME type as defined in RFC2046 and RFC2047. - Copyright (C) 2004 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - -package javax.activation; - -import gnu.java.lang.CPStringBuilder; - -import java.io.Externalizable; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; - -/** - * A MIME content type, as defined in RFCs 2045 and 2046. - * - * @author <a href='mailto:dog@gnu.org'>Chris Burdess</a> - * @version 1.1 - */ -public class MimeType - implements Externalizable -{ - - static final String TSPECIALS = "()<>@,;:/[]?=\\\""; - - private String primaryType; - private String subType; - private MimeTypeParameterList parameters; - - /** - * Constructor for an <code>application/*</code> content type. - */ - public MimeType() - { - primaryType = "application"; - subType = "*"; - parameters = new MimeTypeParameterList(); - } - - /** - * Constructor that parses a raw String. - * @param rawdata the MIME type string - */ - public MimeType(String rawdata) - throws MimeTypeParseException - { - parse(rawdata); - } - - /** - * Constructor for a new MIME type with the given primary and sub types - * and an empty parameter list. - * @param primary the primary type - * @param sub the subtype - */ - public MimeType(String primary, String sub) - throws MimeTypeParseException - { - checkValidity(primary, "Primary type is invalid"); - checkValidity(sub, "Sub type is invalid"); - primaryType = primary.toLowerCase(); - subType = sub.toLowerCase(); - parameters = new MimeTypeParameterList(); - } - - /** - * Returns the primary type. - */ - public String getPrimaryType() - { - return primaryType; - } - - /** - * Sets the primary type. - * @param primary the new primary type - */ - public void setPrimaryType(String primary) - throws MimeTypeParseException - { - checkValidity(primary, "Primary type is invalid"); - primaryType = primary.toLowerCase(); - } - - /** - * Returns the subtype. - */ - public String getSubType() - { - return subType; - } - - /** - * Sets the subtype. - * @param sub the new subtype - */ - public void setSubType(String sub) - throws MimeTypeParseException - { - checkValidity(sub, "Sub type is invalid"); - subType = sub.toLowerCase(); - } - - /** - * Returns the MIME parameters. - */ - public MimeTypeParameterList getParameters() - { - return parameters; - } - - /** - * Returns the parameter value for the specified name. - * @param name the parameter name - */ - public String getParameter(String name) - { - return parameters.get(name); - } - - /** - * Sets the parameter value for the specified name. - * @param name the parameter name - * @param value the new value - */ - public void setParameter(String name, String value) - { - parameters.set(name, value); - } - - /** - * Removes the parameter value for the specified name. - * @param name the parameter name - */ - public void removeParameter(String name) - { - parameters.remove(name); - } - - /** - * Returns the complete string representation of this MIME type. - */ - public String toString() - { - return new CPStringBuilder(primaryType) - .append('/') - .append(subType) - .append(parameters.toString()) - .toString(); - } - - /** - * Returns the string representation of this MIME type without - * parameters. - */ - public String getBaseType() - { - return new CPStringBuilder(primaryType) - .append('/') - .append(subType) - .toString(); - } - - /** - * Returns true if the primary and subtype of this MIME type are the - * same as in the given MIME type. - */ - public boolean match(MimeType type) - { - String primary2 = type.getPrimaryType(); - String sub2 = type.getSubType(); - return primaryType.equals(primary2) && (subType.equals(sub2) || - "*".equals(subType) || - "*".equals(sub2)); - } - - /** - * Returns true if the primary and subtype of this MIME type are the - * same as in the given MIME type string. - */ - public boolean match(String rawdata) - throws MimeTypeParseException - { - return match(new MimeType(rawdata)); - } - - public void writeExternal(ObjectOutput out) - throws IOException - { - out.writeUTF(toString()); - out.flush(); - } - - public void readExternal(ObjectInput in) - throws IOException, ClassNotFoundException - { - try - { - parse(in.readUTF()); - } - catch (MimeTypeParseException e) - { - throw new IOException(e.getMessage()); - } - } - - private void parse(String rawdata) - throws MimeTypeParseException - { - int si = rawdata.indexOf('/'); - int pi = rawdata.indexOf(';'); - if (si == -1) - { - throw new MimeTypeParseException("Unable to find a sub type."); - } - if (pi == -1) - { - primaryType = rawdata.substring(0, si).toLowerCase().trim(); - subType = rawdata.substring(si + 1).toLowerCase().trim(); - parameters = new MimeTypeParameterList(); - } - else if (si < pi) - { - primaryType = rawdata.substring(0, si).toLowerCase().trim(); - subType = rawdata.substring(si + 1, pi).toLowerCase().trim(); - parameters = new MimeTypeParameterList(rawdata.substring(pi)); - } - else - { - throw new MimeTypeParseException("Unable to find a sub type."); - } - checkValidity(primaryType, "Primary type is invalid"); - checkValidity(subType, "Sub type is invalid"); - } - - static void checkValidity(String token, String message) - throws MimeTypeParseException - { - int len = token.length(); - if (len == 0) - { - throw new MimeTypeParseException(message, token); - } - for (int i = 0; i < len; i++) - { - char c = token.charAt(i); - if (!isValidChar(c)) - { - throw new MimeTypeParseException(message, token); - } - } - } - - static boolean isValidChar(char c) - { - return c > ' ' && c <= '~' && TSPECIALS.indexOf(c) == -1; - } - -} diff --git a/libjava/classpath/javax/activation/MimeTypeParameterList.java b/libjava/classpath/javax/activation/MimeTypeParameterList.java deleted file mode 100644 index 24c9486..0000000 --- a/libjava/classpath/javax/activation/MimeTypeParameterList.java +++ /dev/null @@ -1,335 +0,0 @@ -/* MimeTypeParameterList.java -- Handle a list of MIME type parameters. - Copyright (C) 2004 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - -package javax.activation; - -import gnu.java.lang.CPStringBuilder; - -import java.util.ArrayList; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -/** - * A list of MIME type parameters, as specified in RFCs 2045 and 2046. - * - * @author <a href='mailto:dog@gnu.org'>Chris Burdess</a> - * @version 1.1 - */ -public class MimeTypeParameterList -{ - - private final List<String> parameterNames; - private final Map<String,String> parameterValues; - - /** - * Constructor for an empty parameter list. - */ - public MimeTypeParameterList() - { - parameterNames = new ArrayList<String>(); - parameterValues = new HashMap<String,String>(); - } - - /** - * Constructor that parses the specified MIME parameter data. - * @param parameterList a MIME parameter list string representation - */ - public MimeTypeParameterList(String parameterList) - throws MimeTypeParseException - { - this(); - parse(parameterList); - } - - /** - * Parses the specified MIME parameter data, storing the results in this - * object. - * @param parameterList a MIME parameter list string representation - */ - protected void parse(String parameterList) - throws MimeTypeParseException - { - if (parameterList == null) - { - return; - } - // Tokenize list into parameters - char[] chars = parameterList.toCharArray(); - int len = chars.length; - boolean inQuotedString = false; - CPStringBuilder buffer = new CPStringBuilder(); - List<String> params = new ArrayList<String>(); - for (int i = 0; i < len; i++) - { - char c = chars[i]; - if (c == ';' && !inQuotedString) - { - String param = buffer.toString().trim(); - if (param.length() > 0) - { - params.add(param); - } - buffer.setLength(0); - } - else - { - if (c == '"') - { - inQuotedString = !inQuotedString; - } - buffer.append(c); - } - } - String param = buffer.toString().trim(); - if (param.length() > 0) - { - params.add(param); - } - - // Tokenize each parameter into name + value - for (Iterator<String> i = params.iterator(); i.hasNext();) - { - param = i.next(); - int ei = param.indexOf('='); - if (ei == -1) - { - throw new MimeTypeParseException("Couldn't find the '=' that " + - "separates a parameter name " + - "from its value."); - } - String name = param.substring(0, ei).trim(); - MimeType.checkValidity(name, "Parameter name is invalid"); - String value = param.substring(ei + 1).trim(); - len = value.length(); - if (len > 1 && value.charAt(0) == '"' && - value.charAt(len - 1) == '"') - { - value = unquote(value); - } - else - { - MimeType.checkValidity(name, "Parameter value is invalid"); - } - - parameterNames.add(name); - parameterValues.put(name.toLowerCase(), value); - } - } - - /** - * Returns the number of parameters. - */ - public synchronized int size() - { - return parameterNames.size(); - } - - /** - * Indicates if there are no parameters. - */ - public synchronized boolean isEmpty() - { - return parameterNames.isEmpty(); - } - - /** - * Returns the value for the specified parameter name. - * @param name the parameter name - */ - public synchronized String get(String name) - { - name = name.trim(); - return parameterValues.get(name.toLowerCase()); - } - - /** - * Sets the value for the specified parameter name. - * @param name the parameter name - * @param value the parameter value - */ - public synchronized void set(String name, String value) - { - name = name.trim(); - boolean exists = false; - for (String pname : parameterNames) - { - if (name.equalsIgnoreCase(pname)) - { - exists = true; - } - } - if (!exists) - { - parameterNames.add(name); - } - parameterValues.put(name.toLowerCase(), value); - } - - /** - * Removes the parameter identified by the specified name. - * @param name the parameter name - */ - public synchronized void remove(String name) - { - name = name.trim(); - for (Iterator<String> i = parameterNames.iterator();i.hasNext();) - { - String pname = i.next(); - if (name.equalsIgnoreCase(pname)) - { - i.remove(); - } - } - parameterValues.remove(name.toLowerCase()); - } - - /** - * Returns an enumeration of all the parameter names. - */ - // Raw type is forced by public spec. - @SuppressWarnings("rawtypes") - public synchronized Enumeration getNames() - { - return new IteratorEnumeration(parameterNames.iterator()); - } - - /** - * Returns an RFC 2045-compliant string representation of this parameter - * list. - */ - public synchronized String toString() - { - CPStringBuilder buffer = new CPStringBuilder(); - for (String name : parameterNames) - { - String value = parameterValues.get(name.toLowerCase()); - - buffer.append(';'); - buffer.append(' '); - buffer.append(name); - buffer.append('='); - buffer.append(quote(value)); - } - return buffer.toString(); - } - - private static String quote(String value) - { - boolean needsQuoting = false; - int len = value.length(); - for (int i = 0; i < len; i++) - { - if (!MimeType.isValidChar(value.charAt(i))) - { - needsQuoting = true; - break; - } - } - - if (needsQuoting) - { - CPStringBuilder buffer = new CPStringBuilder(); - buffer.append('"'); - for (int i = 0; i < len; i++) - { - char c = value.charAt(i); - if (c == '\\' || c == '"') - { - buffer.append('\\'); - } - buffer.append(c); - } - buffer.append('"'); - return buffer.toString(); - } - return value; - } - - private static String unquote(String value) - { - int len = value.length(); - CPStringBuilder buffer = new CPStringBuilder(); - for (int i = 1; i < len - 1; i++) - { - char c = value.charAt(i); - if (c == '\\') - { - i++; - if (i < len - 1) - { - c = value.charAt(i); - if (c != '\\' && c != '"') - { - buffer.append('\\'); - } - } - } - buffer.append(c); - } - return buffer.toString(); - } - - /** - * Enumeration proxy for an Iterator. - */ - static class IteratorEnumeration - implements Enumeration<String> - { - - final Iterator<String> iterator; - - IteratorEnumeration(Iterator<String> iterator) - { - this.iterator = iterator; - } - - public boolean hasMoreElements() - { - return iterator.hasNext(); - } - - public String nextElement() - { - return iterator.next(); - } - - } - -} diff --git a/libjava/classpath/javax/activation/MimeTypeParseException.java b/libjava/classpath/javax/activation/MimeTypeParseException.java deleted file mode 100644 index 18e8a62..0000000 --- a/libjava/classpath/javax/activation/MimeTypeParseException.java +++ /dev/null @@ -1,83 +0,0 @@ -/* MimeTypeParseException.java -- Exception due to invalid MIME type. - Copyright (C) 2004 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - -package javax.activation; - -import gnu.java.lang.CPStringBuilder; - -/** - * Exception thrown to indicate a malformed MIME content type. - * - * @author <a href='mailto:dog@gnu.org'>Chris Burdess</a> - * @version 1.1 - */ -public class MimeTypeParseException - extends Exception -{ - - /** - * Constructs a MimeTypeParseException with no detail message. - */ - public MimeTypeParseException() - { - } - - /** - * MimeTypeParseException with the specified detail message. - * @param message the exception message - */ - public MimeTypeParseException(String message) - { - super(message); - } - - /** - * Constructs a MimeTypeParseException with the specified detail message - * and token in error. - * @param message the exception message - * @param token the token in error - */ - MimeTypeParseException(String message, String token) - { - this(new CPStringBuilder(message) - .append(':') - .append(' ') - .append(token) - .toString()); - } - -} diff --git a/libjava/classpath/javax/activation/MimetypesFileTypeMap.java b/libjava/classpath/javax/activation/MimetypesFileTypeMap.java deleted file mode 100644 index 0c381d8..0000000 --- a/libjava/classpath/javax/activation/MimetypesFileTypeMap.java +++ /dev/null @@ -1,439 +0,0 @@ -/* MimeTypesFileTypeMap.java -- A file type map using mime.types. - Copyright (C) 2004 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - -package javax.activation; - -import gnu.java.lang.CPStringBuilder; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.IOException; -import java.io.Reader; -import java.io.StringReader; -import java.net.URL; -import java.util.ArrayList; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -/** - * Implementation of FileTypeMap that uses the <tt>mime.types</tt> format. - * File entries are searched for in the following locations and order: - * <ol> - * <li>Programmatically added entries to this instance</li> - * <li>The file <tt>.mime.types</tt> in the user's home directory</li> - * <li>The file <i><java.home></i><tt>/lib/mime.types</tt></li> - * <li>The resource <tt>META-INF/mime.types</tt></li> - * <li>The resource <tt>META-INF/mimetypes.default</tt> in the JAF - * distribution</li> - * </ol> - * - * @author <a href='mailto:dog@gnu.org'>Chris Burdess</a> - * @version 1.1 - */ -public class MimetypesFileTypeMap - extends FileTypeMap -{ - - private static final int PROG = 0; - private static final int HOME = 1; - private static final int SYS = 2; - private static final int JAR = 3; - private static final int DEF = 4; - private static final String DEFAULT_MIME_TYPE = "application/octet-stream"; - private static boolean debug = false; - static - { - try - { - String d = System.getProperty("javax.activation.debug"); - debug = Boolean.valueOf(d).booleanValue(); - } - catch (SecurityException e) - { - } - } - - private Map<String,String>[] mimetypes; - - /** - * Default constructor. - */ - public MimetypesFileTypeMap() - { - init(null); - } - - /** - * Constructor specifying a filename. - * @param mimeTypeFileName the name of the file to read mime.types - * entries from - */ - public MimetypesFileTypeMap(String mimeTypeFileName) - throws IOException - { - Reader in = null; - try - { - in = new FileReader(mimeTypeFileName); - init(in); - } - finally - { - if (in != null) - { - in.close(); - } - } - } - - /** - * Constructor specifying an input stream. - * @param is the input stream to read mime.types entries from - */ - public MimetypesFileTypeMap(InputStream is) - { - init(new InputStreamReader(is)); - } - - private void init(Reader in) - { - mimetypes = new Map[5]; - for (int i = 0; i < mimetypes.length; i++) - { - mimetypes[i] = new HashMap<String,String>(); - } - if (in != null) - { - if (debug) - { - System.out.println("MimetypesFileTypeMap: load PROG"); - } - try - { - parse(mimetypes[PROG], in); - } - catch (IOException e) - { - } - } - - if (debug) - { - System.out.println("MimetypesFileTypeMap: load HOME"); - } - try - { - String home = System.getProperty("user.home"); - if (home != null) - { - parseFile(mimetypes[HOME], new CPStringBuilder(home) - .append(File.separatorChar) - .append(".mime.types") - .toString()); - } - } - catch (SecurityException e) - { - } - - if (debug) - { - System.out.println("MimetypesFileTypeMap: load SYS"); - } - try - { - parseFile(mimetypes[SYS], - new CPStringBuilder(System.getProperty("java.home")) - .append(File.separatorChar) - .append("lib") - .append(File.separatorChar) - .append("mime.types") - .toString()); - } - catch (SecurityException e) - { - } - if (debug) - { - System.out.println("MimetypesFileTypeMap: load JAR"); - } - List<URL> systemResources = getSystemResources("META-INF/mime.types"); - int len = systemResources.size(); - if (len > 0) - { - for (int i = 0; i < len ; i++) - { - Reader urlIn = null; - URL url = (URL)systemResources.get(i); - try - { - urlIn = new InputStreamReader(url.openStream()); - parse(mimetypes[JAR], urlIn); - } - catch (IOException e) - { - } - finally - { - if (urlIn != null) - { - try - { - urlIn.close(); - } - catch (IOException e) - { - } - } - } - } - } - else - { - parseResource(mimetypes[JAR], "/META-INF/mime.types"); - } - - if (debug) - { - System.out.println("MimetypesFileTypeMap: load DEF"); - } - parseResource(mimetypes[DEF], "/META-INF/mimetypes.default"); - } - - /** - * Adds entries prorammatically to the registry. - * @param mime_types a mime.types formatted entries string - */ - public synchronized void addMimeTypes(String mime_types) - { - if (debug) - { - System.out.println("MimetypesFileTypeMap: add to PROG"); - } - try - { - parse(mimetypes[PROG], new StringReader(mime_types)); - } - catch (IOException e) - { - } - } - - /** - * Returns the MIME content type of the file. - * This calls <code>getContentType(f.getName())</code>. - * @param f the file - */ - public String getContentType(File f) - { - return getContentType(f.getName()); - } - - /** - * Returns the MIME type based on the given filename. - * If no entry is found, returns "application/octet-stream". - * @param filename the filename - */ - public synchronized String getContentType(String filename) - { - int di = filename.lastIndexOf('.'); - if (di < 0) - { - return DEFAULT_MIME_TYPE; - } - String tail = filename.substring(di + 1); - if (tail.length() < 1) - { - return DEFAULT_MIME_TYPE; - } - for (int i = 0; i < mimetypes.length; i++) - { - String mimeType = (String)mimetypes[i].get(tail); - if (mimeType != null) - { - return mimeType; - } - } - return DEFAULT_MIME_TYPE; - } - - private void parseFile(Map<String,String> mimetypes, String filename) - { - Reader in = null; - try - { - in = new FileReader(filename); - parse(mimetypes, in); - } - catch (IOException e) - { - } - finally - { - if (in != null) - { - try - { - in.close(); - } - catch (IOException e) - { - } - } - } - } - - private void parseResource(Map<String,String> mimetypes, String name) - { - Reader in = null; - try - { - InputStream is = getClass().getResourceAsStream(name); - if (is != null) - { - in = new InputStreamReader(is); - parse(mimetypes, in); - } - } - catch (IOException e) - { - } - finally - { - if (in != null) - { - try - { - in.close(); - } - catch (IOException e) - { - } - } - } - } - - private void parse(Map<String,String> mimetypes, Reader in) - throws IOException - { - BufferedReader br = new BufferedReader(in); - CPStringBuilder buf = null; - for (String line = br.readLine(); line != null; line = br.readLine()) - { - line = line.trim(); - int len = line.length(); - if (len == 0 || line.charAt(0) == '#') - { - continue; // Empty line / comment - } - if (line.charAt(len - 1) == '\\') - { - if (buf == null) - { - buf = new CPStringBuilder(); - } - buf.append(line.substring(0, len - 1)); - } - else if (buf != null) - { - buf.append(line); - parseEntry(mimetypes, buf.toString()); - buf = null; - } - else - { - parseEntry(mimetypes, line); - } - } - } - - private void parseEntry(Map<String,String> mimetypes, - String line) - { - // Tokenize - String mimeType = null; - char[] chars = line.toCharArray(); - int len = chars.length; - CPStringBuilder buffer = new CPStringBuilder(); - for (int i = 0; i < len; i++) - { - char c = chars[i]; - if (Character.isWhitespace(c)) - { - if (mimeType == null) - { - mimeType = buffer.toString(); - } - else if (buffer.length() > 0) - { - mimetypes.put(buffer.toString(), mimeType); - } - buffer.setLength(0); - } - else - buffer.append(c); - } - if (buffer.length() > 0) - { - mimetypes.put(buffer.toString(), mimeType); - } - } - - // -- Utility methods -- - - private List<URL> getSystemResources(String name) - { - List<URL> acc = new ArrayList<URL>(); - try - { - for (Enumeration<URL> i = ClassLoader.getSystemResources(name); - i.hasMoreElements(); ) - acc.add(i.nextElement()); - } - catch (IOException e) - { - } - return acc; - } - -} diff --git a/libjava/classpath/javax/activation/ObjectDataContentHandler.java b/libjava/classpath/javax/activation/ObjectDataContentHandler.java deleted file mode 100644 index 3f5e296..0000000 --- a/libjava/classpath/javax/activation/ObjectDataContentHandler.java +++ /dev/null @@ -1,127 +0,0 @@ -/* ObjectDataContentHandler.java -- Data content handler using an object. - Copyright (C) 2004 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - -package javax.activation; - -import java.awt.datatransfer.DataFlavor; -import java.awt.datatransfer.UnsupportedFlavorException; -import java.io.IOException; -import java.io.OutputStream; - -/** - * Data content handler that uses an existing DCH and reified object. - * - * @author <a href='mailto:dog@gnu.org'>Chris Burdess</a> - * @version 1.1 - */ -class ObjectDataContentHandler - implements DataContentHandler -{ - - private DataContentHandler dch; - private Object object; - private String mimeType; - private DataFlavor[] flavors; - - public ObjectDataContentHandler(DataContentHandler dch, Object object, - String mimeType) - { - this.dch = dch; - this.object = object; - this.mimeType = mimeType; - } - - public Object getContent(DataSource ds) - { - return object; - } - - public DataContentHandler getDCH() - { - return dch; - } - - public Object getTransferData(DataFlavor flavor, DataSource ds) - throws UnsupportedFlavorException, IOException - { - if (dch != null) - { - return dch.getTransferData(flavor, ds); - } - if (flavors == null) - { - getTransferDataFlavors(); - } - if (flavor.equals(flavors[0])) - { - return object; - } - throw new UnsupportedFlavorException(flavor); - } - - public DataFlavor[] getTransferDataFlavors() - { - if (flavors == null) - { - if (dch != null) - { - flavors = dch.getTransferDataFlavors(); - } - else - { - flavors = new DataFlavor[1]; - flavors[0] = new ActivationDataFlavor(object.getClass(), - mimeType, mimeType); - } - } - return flavors; - } - - public void writeTo(Object object, String mimeType, OutputStream out) - throws IOException - { - if (dch != null) - { - dch.writeTo(object, mimeType, out); - } - else - { - throw new UnsupportedDataTypeException("no object DCH for MIME type " + mimeType); - } - } - -} diff --git a/libjava/classpath/javax/activation/URLDataSource.java b/libjava/classpath/javax/activation/URLDataSource.java deleted file mode 100644 index 66472ad..0000000 --- a/libjava/classpath/javax/activation/URLDataSource.java +++ /dev/null @@ -1,137 +0,0 @@ -/* URLDataSource.java -- Data source for a URL object. - Copyright (C) 2004 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - -package javax.activation; - -import java.io.InputStream; -import java.io.IOException; -import java.io.OutputStream; -import java.net.URL; -import java.net.URLConnection; - -/** - * DataSource implementation that retrieves its data from a URL. - * - * @author <a href='mailto:dog@gnu.org'>Chris Burdess</a> - * @version 1.1 - */ -public class URLDataSource - implements DataSource -{ - - private final URL url; - private URLConnection connection; - - /** - * Constructor. - * This will not open the connection to the URL. - */ - public URLDataSource(URL url) - { - this.url = url; - } - - /** - * Returns the Content-Type header for the URL. - * In the case of failure or lack of such a header, - * returns "application/octet-stream". - */ - public String getContentType() - { - try - { - if (connection == null) - { - connection = url.openConnection(); - } - } - catch (IOException e) - { - } - String contentType = null; - if (connection != null) - { - contentType = connection.getContentType(); - } - if (contentType == null) - { - contentType = "application/octet-stream"; - } - return contentType; - } - - /** - * Returns the result of <code>getFile</code> of the underlying URL. - */ - public String getName() - { - return url.getFile(); - } - - public InputStream getInputStream() - throws IOException - { - connection = url.openConnection(); - if (connection != null) - { - connection.setDoInput(true); - return connection.getInputStream(); - } - return null; - } - - public OutputStream getOutputStream() - throws IOException - { - connection = url.openConnection(); - if (connection != null) - { - connection.setDoOutput(true); - return connection.getOutputStream(); - } - return null; - } - - /** - * Returns the underlying URL. - */ - public URL getURL() - { - return url; - } - -} diff --git a/libjava/classpath/javax/activation/UnsupportedDataTypeException.java b/libjava/classpath/javax/activation/UnsupportedDataTypeException.java deleted file mode 100644 index d0c4b9d..0000000 --- a/libjava/classpath/javax/activation/UnsupportedDataTypeException.java +++ /dev/null @@ -1,69 +0,0 @@ -/* UnsupportedDataTypeException.java -- Thrown when a data type is not supported. - Copyright (C) 2004 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - -package javax.activation; - -import java.io.IOException; - -/** - * Exception indicating that the requested method doesn't support the - * specified data type. - * - * @author <a href='mailto:dog@gnu.org'>Chris Burdess</a> - * @version 1.1 - */ -public class UnsupportedDataTypeException extends IOException -{ - - /** - * Constructs an UnsupportedDataTypeException with no detail message. - */ - public UnsupportedDataTypeException() - { - } - - /** - * Constructs an UnsupportedDataTypeException with the specified detail - * message. - * @param message the message - */ - public UnsupportedDataTypeException(String message) - { - super(message); - } - -} diff --git a/libjava/classpath/javax/activation/package.html b/libjava/classpath/javax/activation/package.html deleted file mode 100644 index 74027ec..0000000 --- a/libjava/classpath/javax/activation/package.html +++ /dev/null @@ -1,44 +0,0 @@ -<body> - -<p> -The GNU JavaBeans™ Activation Framework (JAF) provides a -<a href="http://www.gnu.org/">Free</a> implementation of the -JavaBeans™ Activation Framework, version 1.1. -</p> - -<p> -JAF links together beans and internet standards for specifying MIME -types and how MIME types are processed. It provides a means to associate -data of a given MIME type with bean actions operating on that data. -</p> - - -<h4>Important files</h4> - -<p> -Standard <code>mime.types</code> files are parsed by the JAF MIME -handling classes to work out the MIME types available on the local -system. -</p> - -<p> -Standard <code>mailcap</code> files (defined in RFC1524) are parsed by -mail capability handling classes to work out what beans should be linked -to what MIME types. -</p> - -<p> -<small>Neither the authors nor the Free Software Foundation offer -ANY SUPPORT for this software or imply any warranty.<br> -Use it at your own risk. -</small> -</p> - -<p> -<small>If you can suggest improvements in either the implementation -code or in the documentation please contact the -<a href="mailto:classpath@gnu.org">GNU Classpath project</a> developers. -</small> -</p> - -</body> |