ActivationDataFlavor (Java Platform SE 8 )
Keywords: javax.activation.ActivationDataFlavor class
Date: 2026-04-24

javax.activation

## Class ActivationDataFlavor

- java.lang.Object
- - java.awt.datatransfer.DataFlavor
  - - javax.activation.ActivationDataFlavor

- All Implemented Interfaces:
    Externalizable, Serializable, Cloneable

      public class ActivationDataFlavor
      extends DataFlavor

  The ActivationDataFlavor class is a special subclass of `java.awt.datatransfer.DataFlavor`. It allows the JAF to set all three values stored by the DataFlavor class via a new constructor. It also contains improved MIME parsing in the `equals` method. Except for the improved parsing, its semantics are identical to that of the JDK's DataFlavor class.
  Since:
    1.6
  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class java.awt.datatransfer.DataFlavor

      `allHtmlFlavor, fragmentHtmlFlavor, imageFlavor, javaFileListFlavor, javaJVMLocalObjectMimeType, javaRemoteObjectMimeType, javaSerializedObjectMimeType, plainTextFlavor, selectionHtmlFlavor, stringFlavor`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ActivationDataFlavor(Class representationClass, String humanPresentableName)` Construct a DataFlavor that represents a MimeType.
    `ActivationDataFlavor(Class representationClass, String mimeType, String humanPresentableName)` Construct a DataFlavor that represents an arbitrary Java object.
    `ActivationDataFlavor(String mimeType, String humanPresentableName)` Construct a DataFlavor that represents a MimeType.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(DataFlavor dataFlavor)` Compares the DataFlavor passed in with this DataFlavor; calls the `isMimeTypeEqual` method.
    `String` | `getHumanPresentableName()` Return the Human Presentable name.
    `String` | `getMimeType()` Return the MIME type for this DataFlavor.
    `Class` | `getRepresentationClass()` Return the representation class.
    `boolean` | `isMimeTypeEqual(String mimeType)` Is the string representation of the MIME type passed in equivalent to the MIME type of this DataFlavor.
    `protected String` | `normalizeMimeType(String mimeType)` Deprecated.
    `protected String` | `normalizeMimeTypeParameter(String parameterName, String parameterValue)` Deprecated.
    `void` | `setHumanPresentableName(String humanPresentableName)` Set the human presentable name.

    - ### Methods inherited from class java.awt.datatransfer.DataFlavor

      `clone, equals, equals, getDefaultRepresentationClass, getDefaultRepresentationClassAsString, getParameter, getPrimaryType, getReaderForText, getSubType, getTextPlainUnicodeFlavor, hashCode, isFlavorJavaFileListType, isFlavorRemoteObjectType, isFlavorSerializedObjectType, isFlavorTextType, isMimeTypeEqual, isMimeTypeSerializedObject, isRepresentationClassByteBuffer, isRepresentationClassCharBuffer, isRepresentationClassInputStream, isRepresentationClassReader, isRepresentationClassRemote, isRepresentationClassSerializable, match, readExternal, selectBestTextFlavor, toString, tryToLoadClass, writeExternal`

    - ### Methods inherited from class java.lang.Object

      `finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### ActivationDataFlavor

          public ActivationDataFlavor(Class representationClass,
                                      String mimeType,
                                      String humanPresentableName)

      Construct a DataFlavor that represents an arbitrary Java object. This constructor is an extension of the JDK's DataFlavor in that it allows the explicit setting of all three DataFlavor attributes.

      The returned DataFlavor will have the following characteristics:

      representationClass = representationClass
      mimeType = mimeType
      humanName = humanName

      Parameters:
        `representationClass` - the class used in this DataFlavor
        `mimeType` - the MIME type of the data represented by this class
        `humanPresentableName` - the human presentable name of the flavor

    - #### ActivationDataFlavor

          public ActivationDataFlavor(Class representationClass,
                                      String humanPresentableName)

      Construct a DataFlavor that represents a MimeType.

      The returned DataFlavor will have the following characteristics:

      If the mimeType is "application/x-java-serialized-object; class=", the result is the same as calling new DataFlavor(Class.forName()) as above.

      otherwise:

      representationClass = InputStream

      mimeType = mimeType

      Parameters:
        `representationClass` - the class used in this DataFlavor
        `humanPresentableName` - the human presentable name of the flavor

    - #### ActivationDataFlavor

          public ActivationDataFlavor(String mimeType,
                                      String humanPresentableName)

      Construct a DataFlavor that represents a MimeType.

      The returned DataFlavor will have the following characteristics:

      If the mimeType is "application/x-java-serialized-object; class=", the result is the same as calling new DataFlavor(Class.forName()) as above, otherwise:

      representationClass = InputStream

      mimeType = mimeType

      Parameters:
        `mimeType` - the MIME type of the data represented by this class
        `humanPresentableName` - the human presentable name of the flavor

  - ### Method Detail

    - #### getMimeType

          public String getMimeType()

      Return the MIME type for this DataFlavor.
      Overrides:
        `getMimeType` in class `DataFlavor`
      Returns:
        the MIME type

    - #### getRepresentationClass

          public Class getRepresentationClass()

      Return the representation class.
      Overrides:
        `getRepresentationClass` in class `DataFlavor`
      Returns:
        the representation class

    - #### getHumanPresentableName

          public String getHumanPresentableName()

      Return the Human Presentable name.
      Overrides:
        `getHumanPresentableName` in class `DataFlavor`
      Returns:
        the human presentable name

    - #### setHumanPresentableName

          public void setHumanPresentableName(String humanPresentableName)

      Set the human presentable name.
      Overrides:
        `setHumanPresentableName` in class `DataFlavor`
      Parameters:
        `humanPresentableName` - the name to set

    - #### equals

          public boolean equals(DataFlavor dataFlavor)

      Compares the DataFlavor passed in with this DataFlavor; calls the `isMimeTypeEqual` method.
      Overrides:
        `equals` in class `DataFlavor`
      Parameters:
        `dataFlavor` - the DataFlavor to compare with
      Returns:
        true if the MIME type and representation class are the same
      See Also:
        `DataFlavor.selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])`

    - #### isMimeTypeEqual

          public boolean isMimeTypeEqual(String mimeType)

      Is the string representation of the MIME type passed in equivalent to the MIME type of this DataFlavor.

      ActivationDataFlavor delegates the comparison of MIME types to the MimeType class included as part of the JavaBeans Activation Framework. This provides a more robust comparison than is normally available in the DataFlavor class.

      Overrides:
        `isMimeTypeEqual` in class `DataFlavor`
      Parameters:
        `mimeType` - the MIME type
      Returns:
        true if the same MIME type

    - #### normalizeMimeTypeParameter

          protected String normalizeMimeTypeParameter(String parameterName,
                                                      String parameterValue)

      Deprecated.
      Called on DataFlavor for every MIME Type parameter to allow DataFlavor subclasses to handle special parameters like the text/plain charset parameters, whose values are case insensitive. (MIME type parameter values are supposed to be case sensitive).

      This method is called for each parameter name/value pair and should return the normalized representation of the parameterValue. This method is never invoked by this implementation.

      Overrides:
        `normalizeMimeTypeParameter` in class `DataFlavor`
      Parameters:
        `parameterName` - the parameter name
        `parameterValue` - the parameter value
      Returns:
        the normalized parameter value

    - #### normalizeMimeType

          protected String normalizeMimeType(String mimeType)

      Deprecated.
      Called for each MIME type string to give DataFlavor subtypes the opportunity to change how the normalization of MIME types is accomplished. One possible use would be to add default parameter/value pairs in cases where none are present in the MIME type string passed in. This method is never invoked by this implementation.
      Overrides:
        `normalizeMimeType` in class `DataFlavor`
      Parameters:
        `mimeType` - the MIME type
      Returns:
        the normalized MIME type

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.