Interface IContentTypeManager

  • All Superinterfaces:
    IContentTypeMatcher

    public interface IContentTypeManager
    extends IContentTypeMatcher
    The content type manager provides facilities for file name and content-based type lookup and content description.

    This interface is not intended to be implemented by clients.

    Since:
    3.0
    See Also:
    IContentTypeMatcher
    Restriction:
    This interface is not intended to be implemented by clients.
    • Field Detail

      • CT_TEXT

        static final String CT_TEXT
        Content type identifier constant for platform's primary text-based content type: org.eclipse.core.runtime.text.

        All text-based content types ought to be sub types of the content type identified by this string. This provides a simple way for detecting whether a content type is text-based:

         IContentType text = Platform.getContentTypeManager().getContentType(IContentTypeManager.CT_TEXT);
         IContentType someType = ...;
         boolean isTextBased = someType.isKindOf(text);
         
        See Also:
        Constant Field Values
    • Method Detail

      • getAllContentTypes

        IContentType[] getAllContentTypes()
        Returns all content types known by the platform.

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

        Returns:
        all content types known by the platform.
      • getContentType

        IContentType getContentType​(String contentTypeIdentifier)
        Returns the content type with the given identifier, or null if no such content type is known by the platform.
        Parameters:
        contentTypeIdentifier - the identifier for the content type
        Returns:
        the content type, or null
      • getMatcher

        IContentTypeMatcher getMatcher​(IContentTypeManager.ISelectionPolicy customPolicy,
                                       IScopeContext context)
        Returns a newly created content type matcher using the given content type selection policy and preference scope. If the preference scope is null, the default scope is used.
        Parameters:
        customPolicy - a selection policy
        context - a user preference context to be used by the matcher, or null
        Returns:
        a content type matcher that uses the given policy
        Since:
        3.1
      • addContentType

        IContentType addContentType​(String contentTypeIdentifier,
                                    String name,
                                    IContentType baseType)
                             throws CoreException
        Adds a new content-type to the registry. The content-type identifier mustn't be used by any existing content-type.
        Parameters:
        contentTypeIdentifier - the non-null content-type id
        name - the non-null user readable name
        baseType - parent base type. May be null, indicating that there is no base type.
        Returns:
        the newly created and registered content-type
        Throws:
        CoreException - If the type was not added due to an internal error.
        Since:
        3.6
      • removeContentType

        void removeContentType​(String contentTypeIdentifier)
                        throws CoreException
        Removes a content-type from underlying registry. The content-type must be a content-type that was previously defined with the addContentType(String, String, IContentType) on the same IContentTypeManager. Content-types defined via extension point cannot be removed from the registry.
        Parameters:
        contentTypeIdentifier - the identifier of the content-type to remove. If no user-defined content-type exists for this identifier, the method returns changing nothing and will not throw an exception.
        Throws:
        IllegalArgumentException - if the target content-type was not created by user.
        CoreException - if an internal error prevented the content-type from being removed.
        Since:
        3.6