java.awt.datatransfer
public class DataFlavor extends Object implements Externalizable, Cloneable
Field Summary | |
---|---|
static DataFlavor | imageFlavor
This is an image flavor used for transferring images. |
static DataFlavor | javaFileListFlavor
This is a data flavor used for transferring lists of files. |
static String | javaJVMLocalObjectMimeType
This is the MIME type used to transfer a Java object reference within
the same JVM. |
static String | javaRemoteObjectMimeType
This is the MIME type used to transfer a link to a remote object.
|
static String | javaSerializedObjectMimeType
This is the MIME type used for transferring a serialized object.
|
static DataFlavor | plainTextFlavor
This is the data flavor used for tranferring plain text. |
static DataFlavor | stringFlavor
This is the data flavor used for transferring Java strings. |
Constructor Summary | |
---|---|
DataFlavor()
Empty public constructor needed for externalization.
| |
DataFlavor(Class<?> representationClass, String humanPresentableName)
Initializes a new instance of DataFlavor . | |
DataFlavor(String mimeType, String humanPresentableName, ClassLoader classLoader)
Initializes a new instance of DataFlavor with the
specified MIME type and description. | |
DataFlavor(String mimeType, String humanPresentableName)
Initializes a new instance of DataFlavor with the
specified MIME type and description. | |
DataFlavor(String mimeType)
Initializes a new instance of DataFlavor with the specified
MIME type. |
Method Summary | |
---|---|
Object | clone()
Returns a copy of this object.
|
boolean | equals(DataFlavor flavor)
This method test the specified DataFlavor for equality
against this object. |
boolean | equals(Object obj)
This method test the specified Object for equality
against this object. |
boolean | equals(String str)
Tests whether or not the specified string is equal to the MIME type
of this object.
|
Class<?> | getDefaultRepresentationClass()
XXX - Currently returns java.io.InputStream .
|
String | getDefaultRepresentationClassAsString()
XXX - Currently returns java.io.InputStream . |
String | getHumanPresentableName()
Returns the human presentable name for this flavor.
|
String | getMimeType()
Returns the MIME type of this flavor.
|
String | getParameter(String paramName)
Returns the value of the named MIME type parameter, or null
if the parameter does not exist.
|
String | getPrimaryType()
Returns the primary MIME type for this flavor.
|
Reader | getReaderForText(Transferable transferable)
Creates a Reader for a given Transferable .
|
Class<?> | getRepresentationClass()
Returns the representation class for this flavor.
|
String | getSubType()
Returns the MIME subtype for this flavor.
|
static DataFlavor | getTextPlainUnicodeFlavor()
XXX - Currently returns plainTextFlavor . |
int | hashCode()
Returns the hash code for this data flavor.
|
boolean | isFlavorJavaFileListType()
Tests whether or not this flavor represents a list of files.
|
boolean | isFlavorRemoteObjectType()
Tests whether or not this flavor represents a remote object.
|
boolean | isFlavorSerializedObjectType()
Tests whether or not this flavor represents a serialized object.
|
boolean | isFlavorTextType()
Returns whether this DataFlavor is a valid text flavor for
this implementation of the Java platform. |
boolean | isMimeTypeEqual(String mimeType)
Tests the MIME type of this object for equality against the specified
MIME type. |
boolean | isMimeTypeEqual(DataFlavor flavor)
Tests the MIME type of this object for equality against the specified
data flavor's MIME type
|
boolean | isMimeTypeSerializedObject()
Tests whether or not this flavor represents a serialized object.
|
boolean | isRepresentationClassByteBuffer()
Returns whether the representation class for this DataFlavor is |
boolean | isRepresentationClassCharBuffer()
Returns whether the representation class for this DataFlavor is |
boolean | isRepresentationClassInputStream()
Tests whether or not this flavor has a representation class of
java.io.InputStream .
|
boolean | isRepresentationClassReader()
Returns whether the representation class for this DataFlavor is |
boolean | isRepresentationClassRemote()
Tests whether the representation class for his flavor is remote.
|
boolean | isRepresentationClassSerializable()
Tests whether the representation class for this flavor is
serializable.
|
boolean | match(DataFlavor dataFlavor)
Returns true when the given DataFlavor
matches this one. |
protected String | normalizeMimeType(String type)
This method exists for backward compatibility. |
protected String | normalizeMimeTypeParameter(String name, String value)
This method exists for backward compatibility. |
void | readExternal(ObjectInput stream)
De-serialize this class.
|
static DataFlavor | selectBestTextFlavor(DataFlavor[] availableFlavors)
Selects the best supported text flavor on this implementation.
|
void | setHumanPresentableName(String humanPresentableName)
Sets the human presentable name to the specified value.
|
String | toString()
Returns a string representation of this DataFlavor. |
protected static Class<?> | tryToLoadClass(String className, ClassLoader classLoader)
This method attempts to load the named class. |
void | writeExternal(ObjectOutput stream)
Serialize this class.
|
java.awt.Image
.java.util.List
, with each
element of the list being a java.io.File
.Deprecated: The charset unicode is platform specific and InputStream
deals with bytes not chars. Use getRederForText()
.
java.io.InputStream
.
java.lang.String
.DataFlavor
. The class
and human readable name are specified, the MIME type will be
"application/x-java-serialized-object". If the human readable name
is not specified (null
) then the human readable name
will be the same as the MIME type.
Parameters: representationClass The representation class for this object. humanPresentableName The display name of the object.
DataFlavor
with the
specified MIME type and description. If the MIME type has a
"class=<rep class>" parameter then the representation class will
be the class name specified. Otherwise the class defaults to
java.io.InputStream
. If the human readable name
is not specified (null
) then the human readable name
will be the same as the MIME type.
Parameters: mimeType The MIME type for this flavor. humanPresentableName The display name of this flavor. classLoader The class loader for finding classes if the default class loaders do not work.
Throws: IllegalArgumentException If the representation class specified cannot be loaded. ClassNotFoundException If the class is not loaded.
DataFlavor
with the
specified MIME type and description. If the MIME type has a
"class=<rep class>" parameter then the representation class will
be the class name specified. Otherwise the class defaults to
java.io.InputStream
. If the human readable name
is not specified (null
) then the human readable name
will be the same as the MIME type. This is the same as calling
new DataFlavor(mimeType, humanPresentableName, null)
.
Parameters: mimeType The MIME type for this flavor. humanPresentableName The display name of this flavor.
Throws: IllegalArgumentException If the representation class specified cannot be loaded.
DataFlavor
with the specified
MIME type. This type can have a "class=" parameter to specify the
representation class, and then the class must exist or an exception will
be thrown. If there is no "class=" parameter then the representation class
will be java.io.InputStream
. This is the same as calling
new DataFlavor(mimeType, null)
.
Parameters: mimeType The MIME type for this flavor.
Throws: IllegalArgumentException If a class is not specified in the MIME type. ClassNotFoundException If the class cannot be loaded.
Returns: A copy of this object.
Throws: CloneNotSupportedException If the object's class does not support the Cloneable interface. Subclasses that override the clone method can also throw this exception to indicate that an instance cannot be cloned.
DataFlavor
for equality
against this object. This will be true if the MIME type and
representation class are the equal. If the primary type is 'text'
then also the value of the charset parameter is compared. In such a
case when the charset parameter isn't given then the charset is
assumed to be equal to the default charset of the platform. All
other parameters are ignored.
Parameters: flavor The DataFlavor
to test against.
Returns: true
if the flavor is equal to this object,
false
otherwise.
Object
for equality
against this object. This will be true if the following conditions
are met:
null
.DataFlavor
.Parameters: obj The Object
to test against.
Returns: true
if the flavor is equal to this object,
false
otherwise.
Deprecated: Not compatible with hashCode()
.
Use isMimeTypeEqual()
Parameters: str The string to test against.
Returns: true
if the string is equal to this object's MIME
type, false
otherwise.
java.io.InputStream
.
Since: 1.3
java.io.InputStream
.Returns: The human presentable name for this flavor.
Returns: The MIME type for this flavor.
null
if the parameter does not exist.
Parameters: paramName The name of the paramter.
Returns: The value of the parameter.
Returns: The primary MIME type for this flavor.
Reader
for a given Transferable
.
If the representation class is a (subclass of) Reader
then an instance of the representation class is returned. If the
representatation class is a String
then a
StringReader
is returned. And if the representation class
is a (subclass of) InputStream
and the primary MIME type
is "text" then a InputStreamReader
for the correct charset
encoding is returned.
Parameters: transferable The Transferable
for which a text
Reader
is requested.
Throws: IllegalArgumentException If the representation class is not one
of the seven listed above or the Transferable has null data. NullPointerException If the Transferable is null. UnsupportedFlavorException when the transferable doesn't
support this DataFlavor
. Or if the representable class
isn't a (subclass of) Reader
, String
,
InputStream
and/or the primary MIME type isn't "text". IOException when any IOException occurs. UnsupportedEncodingException if the "charset" isn't supported
on this platform.
Returns: The representation class for this flavor.
Returns: The MIME subtype for this flavor.
plainTextFlavor
.Returns: true
if this flavor represents a list of files,
false
otherwise.
Returns: true
if this flavor represents a remote object,
false
otherwise.
Returns: true
if this flavor represents a serialized
object, false
otherwise.
DataFlavor
is a valid text flavor for
this implementation of the Java platform. Only flavors equivalent to
DataFlavor.stringFlavor
and DataFlavor
s with
a primary MIME type of "text" can be valid text flavors.
If this flavor supports the charset parameter, it must be equivalent to
DataFlavor.stringFlavor
, or its representation must be
java.io.Reader
, java.lang.String
,
java.nio.CharBuffer
, java.io.InputStream
or
java.nio.ByteBuffer
,
If the representation is java.io.InputStream
or
java.nio.ByteBuffer
, then this flavor's charset
parameter must be supported by this implementation of the Java platform.
If a charset is not specified, then the platform default charset, which
is always supported, is assumed.
If this flavor does not support the charset parameter, its
representation must be java.io.InputStream
,
java.nio.ByteBuffer
.
See selectBestTextFlavor
for a list of text flavors which
support the charset parameter.
Returns: true
if this DataFlavor
is a valid
text flavor as described above; false
otherwise
Since: 1.4
See Also: DataFlavor
Parameters: mimeType The MIME type to test against.
Returns: true
if the MIME type is equal to this object's
MIME type (ignoring parameters), false
otherwise.
Throws: NullPointerException If mimeType is null.
Parameters: flavor The flavor to test against.
Returns: true
if the flavor's MIME type is equal to this
object's MIME type, false
otherwise.
Returns: true
if this flavor represents a serialized
object, false
otherwise.
Since: 1.4
See Also: or a subclass thereof.
Since: 1.4
See Also: or a subclass thereof.
java.io.InputStream
.
Returns: true
if the representation class of this flavor
is java.io.InputStream
, false
otherwise.
Since: 1.4
See Also: or a subclass thereof.
Returns: true
if the representation class is remote,
false
otherwise.
Returns: true
if the representation class is serializable,
false
otherwise.
true
when the given DataFlavor
matches this one.Deprecated:
This method exists for backward compatibility. It simply returns the MIME type string unchanged.Parameters: type The MIME type.
Returns: The MIME type.
Deprecated:
This method exists for backward compatibility. It simply returns the same name/value pair passed in.Parameters: name The parameter name. value The parameter value.
Returns: The name/value pair.
Parameters: stream The ObjectInput
stream to deserialize from.
Throws: IOException If an error ocurs. ClassNotFoundException If the class for an object being restored cannot be found.
null
when none of the given flavors is liked.
The DataFlavor
returned the first data flavor in the
array that has either a representation class which is (a subclass of)
Reader
or String
, or has a representation
class which is (a subclass of) InputStream
and has a
primary MIME type of "text" and has an supported encoding.Parameters: humanPresentableName The new display name.
Parameters: className The name of the class to load. classLoader The class loader to use if all others fail, which
may be null
.
Throws: ClassNotFoundException If the class cannot be loaded.
Parameters: stream The ObjectOutput
stream to serialize to.
Throws: IOException If an error occurs.