org.eclipse.core.runtime.content
Interface IContentTypeMatcher

All Known Subinterfaces:
IContentTypeManager

public interface IContentTypeMatcher

An object that performs content type matching queries.

This interface is not intended to be implemented by clients.

Since:
3.1
See Also:
IContentTypeManager.getMatcher(IContentTypeManager.ISelectionPolicy, IScopeContext)

Method Summary
 IContentType findContentTypeFor(java.io.InputStream contents, java.lang.String fileName)
          Returns the preferred content type for the given contents and file name.
 IContentType findContentTypeFor(java.lang.String fileName)
          Returns the preferred content type for the given file name.
 IContentType[] findContentTypesFor(java.io.InputStream contents, java.lang.String fileName)
          Returns the content types associated to the given contents and file name.
 IContentType[] findContentTypesFor(java.lang.String fileName)
          Returns all content types known by the platform that are associated to the given file name.
 IContentDescription getDescriptionFor(java.io.InputStream contents, java.lang.String fileName, QualifiedName[] options)
          Tries to obtain a description for the given contents and file name.
 IContentDescription getDescriptionFor(java.io.Reader contents, java.lang.String fileName, QualifiedName[] options)
          Tries to obtain a description for the given contents and file name.
 

Method Detail

findContentTypeFor

IContentType findContentTypeFor(java.io.InputStream contents,
                                java.lang.String fileName)
                                throws java.io.IOException
Returns the preferred content type for the given contents and file name.

Returns null if no associated content types are found.

If a file name is not provided, the entire content type registry will be queried. For performance reasons, it is highly recommended to provide a file name if available.

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 - an input stream
fileName - the file name associated to the contents, or null
Returns:
the preferred content type associated to the given file name, or null
Throws:
java.io.IOException - if an error occurs while reading the contents

findContentTypeFor

IContentType findContentTypeFor(java.lang.String fileName)
Returns the preferred content type for the given file name. If multiple content types are associated with the given file name, the one considered the most appropriated will be returned. If there are no content types associated, null is returned.

Parameters:
fileName - the name of the file
Returns:
the preferred content type associated to the given file name, or null

findContentTypesFor

IContentType[] findContentTypesFor(java.io.InputStream contents,
                                   java.lang.String fileName)
                                   throws java.io.IOException
Returns the content types associated to the given contents and file name.

Returns an empty array if no associated content types are found.

If a file name is not provided, the entire content type registry will be queried. For performance reasons, it is highly recommended to provide a file name if available.

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 - an input stream
fileName - the file name associated to the contents, or null
Returns:
all content types associated to the given contents and file name
Throws:
java.io.IOException - if an error occurs while reading the contents

findContentTypesFor

IContentType[] findContentTypesFor(java.lang.String fileName)
Returns all content types known by the platform that are associated to the given file name.

Returns an empty array if there are no content types associated.

Parameters:
fileName - the name of the file
Returns:
all content types associated to the given file spec

getDescriptionFor

IContentDescription getDescriptionFor(java.io.InputStream contents,
                                      java.lang.String fileName,
                                      QualifiedName[] options)
                                      throws java.io.IOException
Tries to obtain a description for the given contents and file name.

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.

If a file name is not provided, the entire content type registry will be queried. For performance reasons, it is highly recommended to provide a file name if available.

Parameters:
contents - the contents to be interpreted
fileName - the file name associated to the contents, or null
options - an array of keys for all properties that should be described, or IContentDescription.ALL, for all of them
Returns:
a content description if one could be obtained, or null
Throws:
java.io.IOException - if an error occurs while reading the contents
See Also:
IContentDescription

getDescriptionFor

IContentDescription getDescriptionFor(java.io.Reader contents,
                                      java.lang.String fileName,
                                      QualifiedName[] options)
                                      throws java.io.IOException
Tries to obtain a description for the given contents and file name.

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

If a file name is not provided, the entire content type registry will be queried. For performance reasons, it is highly recommended to provide a file name if available.

Parameters:
contents - the contents to be interpreted
fileName - the file name associated to the contents, or null
options - an array of keys for all properties that should be described, or IContentDescription.ALL, for all of them
Returns:
a content description if one could be obtained, or null
Throws:
java.io.IOException - if an error occurs while reading the contents
See Also:
IContentDescription