Interface IContentType

  • All Superinterfaces:
    IContentTypeSettings

    public interface IContentType
    extends IContentTypeSettings
    Content types represent and provide information on file types, such as associated file names/extensions, default charset, etc.
    Since:
    3.0
    Restriction:
    This interface is not intended to be implemented by clients.
    • Field Detail

      • IGNORE_PRE_DEFINED

        static final int IGNORE_PRE_DEFINED
        File spec type flag constant, indicating that predefined file specifications should not be taken into account.
        See Also:
        Constant Field Values
      • IGNORE_USER_DEFINED

        static final int IGNORE_USER_DEFINED
        File spec type flag constant, indicating that user-defined file specifications should not be taken into account.
        See Also:
        Constant Field Values
      • FILE_NAME_SPEC

        static final int FILE_NAME_SPEC
        File spec type constant, indicating a file name specification.
        See Also:
        Constant Field Values
      • FILE_EXTENSION_SPEC

        static final int FILE_EXTENSION_SPEC
        File spec type constant, indicating a file extension specification.
        See Also:
        Constant Field Values
      • FILE_PATTERN_SPEC

        static final int FILE_PATTERN_SPEC
        File spec type constant, indicating a file name pattern specification. ? represents any single character, * represent any string.
        Since:
        3.7
        See Also:
        Constant Field Values
    • Method Detail

      • getBaseType

        IContentType getBaseType()
        Returns a reference to this content type's base type. If this content type does not have a base type (it is a root type), returns null.
        Returns:
        this content type's base type, or null
      • getDefaultDescription

        IContentDescription getDefaultDescription()
        Returns the default content description for this content type. A default content description is returned by the content type API whenever content analysis could not find any particular information to be described about the contents being processed, so all default attributes for the content type in question apply.

        Clients doing caching of content descriptions may choose to treat default descriptions in a special manner, since they are easily recoverable through this API.

        Returns:
        a content description
        Since:
        3.1
      • getDescriptionFor

        IContentDescription getDescriptionFor​(InputStream contents,
                                              QualifiedName[] options)
                                       throws IOException
        Tries to obtain a description for the given contents.

        Any IOExceptions that may occur while reading the given input stream will flow to the caller. The input stream will not be closed by this operation.

        Parameters:
        contents - the contents to be interpreted
        options - an array of keys for all properties that should be described
        Returns:
        a content description if one could be obtained, or null
        Throws:
        IOException - if an error occurs while reading the contents
        See Also:
        IContentDescription
      • getDescriptionFor

        IContentDescription getDescriptionFor​(Reader contents,
                                              QualifiedName[] options)
                                       throws IOException
        Tries to obtain a description for the given contents.

        Any IOExceptions that may occur while reading the given reader will flow to the caller. The reader will not be closed by this operation.

        Parameters:
        contents - the contents to be interpreted
        options - an array of keys for all properties that should be described
        Returns:
        a content description if one could be obtained, or null
        Throws:
        UnsupportedOperationException - if this content type has a describer that does not implement ITextContentDescriber
        IOException - if an error occurs while reading the contents
        See Also:
        IContentDescription
      • getDefaultCharset

        String getDefaultCharset()
        Returns the default charset for this content type if one has been defined, null otherwise. This refinement of the corresponding IContentTypeSettings method also takes into account the charset defined by the content type provider (or its base content type).
        Specified by:
        getDefaultCharset in interface IContentTypeSettings
        Returns:
        the default charset, or null
      • getFileSpecs

        String[] getFileSpecs​(int type)
        Returns file specifications from this content type. The type mask is a bit-wise or of file specification type constants indicating the file specification types of interest. This refinement of the corresponding IContentTypeSettings method supports additional flags because it also takes into account the file specifications defined by the content type provider (or its base content type).
        Specified by:
        getFileSpecs in interface IContentTypeSettings
        Parameters:
        type - a bit-wise or of file specification type constants. Valid flags are:
        • one of FILE_EXTENSION_SPEC or FILE_NAME_SPEC
        • and optionally, one of IGNORE_PRE_DEFINED or IGNORE_USER_DEFINED
        Returns:
        the file specification
        See Also:
        FILE_NAME_SPEC, FILE_EXTENSION_SPEC, IGNORE_PRE_DEFINED, IGNORE_USER_DEFINED
      • getId

        String getId()
        Returns this content type's unique identifier. Each content type has an identifier by which they can be retrieved from the content type catalog.
        Specified by:
        getId in interface IContentTypeSettings
        Returns:
        this content type's unique identifier
      • getName

        String getName()
        Returns a user-friendly name for this content type.
        Returns:
        this content type's name
      • isAssociatedWith

        boolean isAssociatedWith​(String fileName)
        Returns whether this content type is associated with the given file name.
        Parameters:
        fileName - the file name
        Returns:
        true if this content type is associated with the given file name, false otherwise
        See Also:
        isAssociatedWith(String, IScopeContext)
      • isAssociatedWith

        boolean isAssociatedWith​(String fileName,
                                 IScopeContext context)
        Returns whether this content type is associated with the given file name in the given preference scope.
        Parameters:
        fileName - the file name
        context - a preference scope context
        Returns:
        true if this content type is associated with the given file name, false otherwise
        Since:
        3.1
      • isKindOf

        boolean isKindOf​(IContentType another)
        Returns whether this content type is a kind of the given content type. A content type A is a kind of a content type B if:
        1. A and B are the same content type, or
        2. A's base type is B, or
        3. A's base type is a kind of B.
        Parameters:
        another - a content type
        Returns:
        true if this content type is a kind of the given content type, false otherwise
      • getSettings

        IContentTypeSettings getSettings​(IScopeContext context)
                                  throws CoreException
        Returns the settings for this content type in the given preference context.
        Parameters:
        context - a preference scope context
        Returns:
        setting in the given context
        Throws:
        CoreException - if this method fails. Reasons include:
        • An error occurred obtaining the settings.
        Since:
        3.1