Interface IContentDescription
A content description object will always include the content type for the examined contents, and may also include information on:
- charset;
- byte order mark;
- other custom properties provided by third-party plug-ins.
Content describers provided by plug-ins will fill in most of the
properties in a content description object, except for the content type,
what is done by the platform. After a content
description is filled in by a content interpreter, it is marked as immutable
by the platform, so calling any of the mutator methods defined in this
interface will cause an IllegalStateException
to be thrown.
Default values for properties can be contributed by plug-ins as part of the content type definition markup.
This interface is not intended to be implemented by clients.
- Since:
- 3.0
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final QualifiedName[]
Options constant meaning that all properties should be described.static final byte[]
Constant that identifies the Byte-Order-Mark for contents encoded with the UTF-16 Big Endian character encoding scheme.static final byte[]
Constant that identifies the Byte-Order-Mark for contents encoded with the UTF-16 Little Endian character encoding scheme.static final byte[]
Constant that identifies the Byte-Order-Mark for contents encoded with the UTF-8 character encoding scheme.static final QualifiedName
Key for the "byte order mark" property.static final QualifiedName
Key for the "charset" property. -
Method Summary
Modifier and TypeMethodDescriptionReturns the charset name to be used when reading the contents described by this object.Returns the content type detected.getProperty
(QualifiedName key) Returns the value of custom property set by the content describer, or the default value for the property, if one has been defined.boolean
isRequested
(QualifiedName key) Returns whether the given property is requested to be described.void
setProperty
(QualifiedName key, Object value) Sets the given property to the given value.
-
Field Details
-
CHARSET
Key for the "charset" property. -
BYTE_ORDER_MARK
Key for the "byte order mark" property. This property is only meaningful when describing byte streams. -
ALL
Options constant meaning that all properties should be described. -
BOM_UTF_8
static final byte[] BOM_UTF_8Constant that identifies the Byte-Order-Mark for contents encoded with the UTF-8 character encoding scheme. -
BOM_UTF_16BE
static final byte[] BOM_UTF_16BEConstant that identifies the Byte-Order-Mark for contents encoded with the UTF-16 Big Endian character encoding scheme. -
BOM_UTF_16LE
static final byte[] BOM_UTF_16LEConstant that identifies the Byte-Order-Mark for contents encoded with the UTF-16 Little Endian character encoding scheme.
-
-
Method Details
-
isRequested
Returns whether the given property is requested to be described. This method is intended to allow content describers to determine which properties should be described.- Parameters:
key
- a key for the property to be verified- Returns:
true
if the property is to be described,false
otherwise
-
getCharset
String getCharset()Returns the charset name to be used when reading the contents described by this object.If a Unicode byte order mark has been found (the
BYTE_ORDER_MARK
property has been set), a corresponding charset name will be returned (e.g. "UTF-8", "UTF-16"). Otherwise, the value of theCHARSET
property will be returned.- Returns:
- a charset name, or
null
-
getContentType
IContentType getContentType()Returns the content type detected. Returnsnull
if the content type could not be determined.- Returns:
- the corresponding content type, or
null
-
getProperty
Returns the value of custom property set by the content describer, or the default value for the property, if one has been defined.The qualifier part of the property name must be the unique identifier of the declaring plug-in (e.g.
"com.example.plugin"
).- Parameters:
key
- the property key- Returns:
- the property value, or
null
, if the property is not found
-
setProperty
Sets the given property to the given value.The qualifier part of the property name must be the unique identifier of the declaring plug-in (e.g.
"com.example.plugin"
).This method should not be called by clients other than content describers. An attempt to set a property from other contexts will cause an
IllegalStateException
to be thrown.- Parameters:
key
- the qualified name of the propertyvalue
- the property value, ornull
, if the property is to be removed- Throws:
IllegalStateException
- if called after this description has been filled in
-