javax.portlet

## Interface PortletConfig

All Known Implementing Classes:
  GenericPortlet

    public interface PortletConfig

The `PortletConfig` interface provides the portlet with its configuration. The configuration holds information about the portlet that is valid for all users. The configuration is retrieved from the portlet definition in the deployment descriptor. The portlet can only read the configuration data.

The configuration information contains the portlet name, the portlet initialization parameters, the portlet resource bundle and the portlet application context.

See Also:
  `Portlet`

### Method Summary

All Methods Instance Methods Abstract Methods
`Map<String,String[]>` `getContainerRuntimeOptions()` Returns the container runtime options and values for this portlet.
`String` `getDefaultNamespace()` Returns the default namespace for events and public render parameters.
`String` `getInitParameter(String name)` Returns a String containing the value of the named initialization parameter, or null if the parameter does not exist.
`Enumeration<String>` `getInitParameterNames()` Returns the names of the portlet initialization parameters as an `Enumeration` of String objects, or an empty `Enumeration` if the portlet has no initialization parameters.
`PortletContext` `getPortletContext()` Returns the `PortletContext` of the portlet application the portlet is in.
`String` `getPortletName()` Returns the name of the portlet.
`Enumeration<QName>` `getProcessingEventQNames()` Returns the QNames of the processing events supported by the portlet as an `Enumeration` of `QName` objects, or an empty `Enumeration` if the portlet has not defined any processing events.
`Enumeration<String>` `getPublicRenderParameterNames()` Returns the names of the public render parameters supported by the portlet as an `Enumeration` of `String` objects, or an empty `Enumeration` if the portlet has not defined public render parameters.
`Enumeration<QName>` `getPublishingEventQNames()` Returns the QNames of the publishing events supported by the portlet as an `Enumeration` of `QName` objects, or an empty `Enumeration` if the portlet has not defined any publishing events.
`ResourceBundle` `getResourceBundle(Locale locale)` Gets the resource bundle for the given locale based on the resource bundle defined in the deployment descriptor with `resource-bundle` tag or the inlined resources defined in the deployment descriptor.
`Enumeration<Locale>` `getSupportedLocales()` Returns the locales supported by the portlet as an `Enumeration` of `Locale` objects, or an empty `Enumeration` if the portlet has not defined any supported locales.

### Method Detail

#### getPortletName

    String getPortletName()

Returns the name of the portlet.

The name may be provided via server administration, assigned in the portlet application deployment descriptor with the `portlet-name` tag.

Returns:
  the portlet name

#### getPortletContext

    PortletContext getPortletContext()

Returns the `PortletContext` of the portlet application the portlet is in.

Returns:
  a `PortletContext` object, used by the caller to interact with its portlet container
See Also:
  `PortletContext`

#### getResourceBundle

    ResourceBundle getResourceBundle(Locale locale)

Gets the resource bundle for the given locale based on the resource bundle defined in the deployment descriptor with `resource-bundle` tag or the inlined resources defined in the deployment descriptor.

Parameters:
  `locale` - the locale for which to retrieve the resource bundle
Returns:
  the resource bundle for the given locale

#### getInitParameter

    String getInitParameter(String name)

Returns a String containing the value of the named initialization parameter, or null if the parameter does not exist.

Parameters:
  `name` - a `String` specifying the name of the initialization parameter
Returns:
  a `String` containing the value of the initialization parameter
Throws:
  `IllegalArgumentException` - if name is `null`.

#### getInitParameterNames

    Enumeration<String> getInitParameterNames()

Returns the names of the portlet initialization parameters as an `Enumeration` of String objects, or an empty `Enumeration` if the portlet has no initialization parameters.

Returns:
  an `Enumeration` of `String` objects containing the names of the portlet initialization parameters, or an empty `Enumeration` if the portlet has no initialization parameters.

#### getPublicRenderParameterNames

    Enumeration<String> getPublicRenderParameterNames()

Returns the names of the public render parameters supported by the portlet as an `Enumeration` of `String` objects, or an empty `Enumeration` if the portlet has not defined public render parameters.

Public render parameters are defined in the portlet deployment descriptor with the `supported-public-render-parameter` element.

Returns:
  an `Enumeration` of `String` objects containing the names of the public render parameters, or an empty `Enumeration` if the portlet has not defined support for any public render parameters in the portlet deployment descriptor.
Since:
  2.0

#### getDefaultNamespace

    String getDefaultNamespace()

Returns the default namespace for events and public render parameters. This namespace is defined in the portlet deployment descriptor with the `default-namespace` element.

If no default namespace is defined in the portlet deployment descriptor this methods returns the XML default namespace `XMLConstants.NULL_NS_URI`.

Returns:
  the default namespace defined in the portlet deployment descriptor, or `XMLConstants.NULL_NS_URI` is non is defined.
Since:
  2.0

#### getPublishingEventQNames

    Enumeration<QName> getPublishingEventQNames()

Returns the QNames of the publishing events supported by the portlet as an `Enumeration` of `QName` objects, or an empty `Enumeration` if the portlet has not defined any publishing events.

Publishing events are defined in the portlet deployment descriptor with the `supported-publishing-event` element.

Note that this call does not return any events published that have not been declared in the deployment descriptor as supported.

If the event was defined using the `name` element instead of the `qname` element the defined default namespace is added as namespace for the returned QName.

Returns:
  an `Enumeration` of `QName` objects containing the names of the publishing events, or an empty `Enumeration` if the portlet has not defined any support for publishing events in the deployment descriptor.
Since:
  2.0

#### getProcessingEventQNames

    Enumeration<QName> getProcessingEventQNames()

Returns the QNames of the processing events supported by the portlet as an `Enumeration` of `QName` objects, or an empty `Enumeration` if the portlet has not defined any processing events.

Processing events are defined in the portlet deployment descriptor with the `supported-processing-event` element.

If the event was defined using the `name` element instead of the `qname` element the defined default namespace is added as namespace for the returned QName.

Returns:
  an `Enumeration` of `QName` objects containing the names of the processing events, or an empty `Enumeration` if the portlet has not defined any support for processing events in the deployment descriptor.
Since:
  2.0

#### getSupportedLocales

    Enumeration<Locale> getSupportedLocales()

Returns the locales supported by the portlet as an `Enumeration` of `Locale` objects, or an empty `Enumeration` if the portlet has not defined any supported locales.

Supported locales are defined in the portlet deployment descriptor with the `supported-locale` element.

Returns:
  an `Enumeration` of `Locale` objects containing the supported locales, or an empty `Enumeration` if the portlet has not defined any supported locales in the deployment descriptor.
Since:
  2.0

#### getContainerRuntimeOptions

    Map<String,String[]> getContainerRuntimeOptions()

Returns the container runtime options and values for this portlet.

The portlet can set container runtime options in the `portlet.xml` via the `container-runtime-option` element with a name and a value on the application and portlet level.
If a container runtime option is set on the portlet application level and on the portlet level with the same name the setting on the portlet level takes precedence and overwrites the one set on the portal application level.

The map returned from this method will provide the subset the portlet container supports of the options the portlet has specified in the `portlet.xml`. Options that the portlet container does not support will not be returned in this map.

The map will contain name of the runtime option as key of type String and the runtime options as values of type String array (`String[]`) with the values specified in the `portlet.xml` deployment descriptor.

Returns:
  an immutable `Map` containing portlet container runtime options names as keys and the container runtime values as map values, or an empty `Map` if no portlet container runtime options are set in the `portlet.xml` or supported by this portlet container. The keys in the map are of type String. The values in the map are of type String array (`String[]`).
Since:
  2.0