public interface IContentDescription
A content description object will always include the content type for the examined contents, and may also include information on:
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.
IContentDescriber
Modifier and Type | Field and Description |
---|---|
static QualifiedName[] |
ALL
Options constant meaning that all properties should be described.
|
static byte[] |
BOM_UTF_16BE
Constant that identifies the Byte-Order-Mark for contents encoded with
the UTF-16 Big Endian character encoding scheme.
|
static byte[] |
BOM_UTF_16LE
Constant that identifies the Byte-Order-Mark for contents encoded with
the UTF-16 Little Endian character encoding scheme.
|
static byte[] |
BOM_UTF_8
Constant that identifies the Byte-Order-Mark for contents encoded with
the UTF-8 character encoding scheme.
|
static QualifiedName |
BYTE_ORDER_MARK
Key for the "byte order mark" property.
|
static QualifiedName |
CHARSET
Key for the "charset" property.
|
Modifier and Type | Method and Description |
---|---|
String |
getCharset()
Returns the charset name to be used when reading the contents
described by this object.
|
IContentType |
getContentType()
Returns the content type detected.
|
Object |
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.
|
static final QualifiedName CHARSET
static final QualifiedName BYTE_ORDER_MARK
static final QualifiedName[] ALL
static final byte[] BOM_UTF_8
static final byte[] BOM_UTF_16BE
static final byte[] BOM_UTF_16LE
boolean isRequested(QualifiedName key)
key
- a key for the property to be verifiedtrue
if the property is to be described,
false
otherwiseString getCharset()
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 the CHARSET
property will be returned.
null
IContentType getContentType()
null
if the
content type could not be determined.null
Object getProperty(QualifiedName key)
The qualifier part of the property name must be the unique identifier
of the declaring plug-in (e.g. "com.example.plugin"
).
key
- the property keynull
, if the property is not
foundvoid setProperty(QualifiedName key, Object 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.
key
- the qualified name of the propertyvalue
- the property value, or null
,
if the property is to be removedIllegalStateException
- if called after this description has been
filled in
Copyright (c) 2000, 2014 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.