Package org.eclipse.pde.core.plugin

## Interface IPluginLibrary

All Superinterfaces:
  `IAdaptable`, `IPluginObject`, `IWritable`

    public interface IPluginLibrary
    extends IPluginObject

The class that implements this interface represents a reference to the library that is defined in the plug-in manifest.

Restriction:
  This interface is not intended to be implemented by clients.
Restriction:
  This interface is not intended to be extended by clients.

### Field Summary

Fields
`static String` `CODE` A library type indicating the library contains code.
`static String` `P_CONTENT_FILTERS` A name of the property that will be used to notify about changes in the content filters.
`static String` `P_EXPORTED` A name of the property that will be used to notify about changes of the "exported" field.
`static String` `P_PACKAGES` A name of the property that will be used to notify about changes in the content filters.
`static String` `P_TYPE` A name of the property that will be used to notify about of the 'type' field.
`static String` `RESOURCE` A library type indicating the library contains resource files.

### Fields inherited from interface org.eclipse.pde.core.plugin.IPluginObject

`P_NAME`

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `addContentFilter​(String filter)` Export a particular package in a library.
`String[]` `getContentFilters()` Returns optional context filters that should be applied to calculate what classes to export from this library.
`String[]` `getPackages()` Returns optional package prefixes that can be used to make library lookup faster..
`String` `getType()` Returns the type of this library.
`boolean` `isExported()` Returns true if this library contains types that will be visible to other plug-ins.
`boolean` `isFullyExported()` Returns true if all the types in this library will be visible to other plug-ins.
`void` `removeContentFilter​(String filter)` Remove a package from the export list.
`void` `setContentFilters​(String[] filters)` Sets the optional content filters for this library.
`void` `setExported​(boolean value)` Sets whether types in this library will be visible to other plug-ins.
`void` `setPackages​(String[] packages)` Sets the optional package prefixes for this library.
`void` `setType​(String type)` Sets the library type.

### Methods inherited from interface org.eclipse.core.runtime.IAdaptable

`getAdapter`

### Methods inherited from interface org.eclipse.pde.core.plugin.IPluginObject

`getModel, getName, getParent, getPluginBase, getPluginModel, getResourceString, getTranslatedName, isInTheModel, isValid, setInTheModel, setName`

### Methods inherited from interface org.eclipse.pde.core.IWritable

`write`

### Field Detail

#### P_EXPORTED

    static final String P_EXPORTED

A name of the property that will be used to notify about changes of the "exported" field.

See Also:
  Constant Field Values

#### P_PACKAGES

    static final String P_PACKAGES

A name of the property that will be used to notify about changes in the content filters.

See Also:
  Constant Field Values

#### P_CONTENT_FILTERS

    static final String P_CONTENT_FILTERS

A name of the property that will be used to notify about changes in the content filters.

See Also:
  Constant Field Values

#### P_TYPE

    static final String P_TYPE

A name of the property that will be used to notify about of the 'type' field.

See Also:
  Constant Field Values

#### CODE

    static final String CODE

A library type indicating the library contains code.

See Also:
  Constant Field Values

#### RESOURCE

    static final String RESOURCE

A library type indicating the library contains resource files.

See Also:
  Constant Field Values

### Method Detail

#### getContentFilters

    String[] getContentFilters()

Returns optional context filters that should be applied to calculate what classes to export from this library.

Returns:
  an array of content filter strings

#### getPackages

    String[] getPackages()

Returns optional package prefixes that can be used to make library lookup faster..

Returns:
  an array of package prefixes

#### isExported

    boolean isExported()

Returns true if this library contains types that will be visible to other plug-ins.

Returns:
  true if there are exported types in the library

#### isFullyExported

    boolean isFullyExported()

Returns true if all the types in this library will be visible to other plug-ins.

Returns:
  true if all the types are exported in the library

#### getType

    String getType()

Returns the type of this library. Will be one of `CODE` or `RESOURCE`.

Returns:
  The type of this library

#### setContentFilters

    void setContentFilters​(String[] filters)
                    throws CoreException

Sets the optional content filters for this library. This method may throw a CoreException if the model is not editable.

Parameters:
  `filters` - an array of filter strings
Throws:
  `CoreException` - if the model is not editable

#### addContentFilter

    void addContentFilter​(String filter)
                   throws CoreException

Export a particular package in a library. This method may throw a CoreException if the model is not editable.

Parameters:
  `filter` - a package name
Throws:
  `CoreException` - if the model is not editable

#### removeContentFilter

    void removeContentFilter​(String filter)
                      throws CoreException

Remove a package from the export list. This method may throw a CoreException if the model is not editable.

Parameters:
  `filter` - a package name
Throws:
  `CoreException` - if the model is not editable

#### setPackages

    void setPackages​(String[] packages)
              throws CoreException

Sets the optional package prefixes for this library. This method may throw a CoreException if the model is not editable.

Parameters:
  `packages` - an array of package prefixes
Throws:
  `CoreException` - if the model is not editable

#### setExported

    void setExported​(boolean value)
              throws CoreException

Sets whether types in this library will be visible to other plug-ins. This method may throw a CoreException if the model is not editable.

Parameters:
  `value` - whether the types in the library should be exported
Throws:
  `CoreException` - if the model is not editable

#### setType

    void setType​(String type)
          throws CoreException

Sets the library type. Must be either `CODE` or `RESOURCE`.

Parameters:
  `type` - The library type
Throws:
  `CoreException` - if the model is not editable.