# com.bea.wsrp.consumer.management.producer
ProducerManager Interface

public interface ProducerManager

Specifies an interface for managing producers for a given consumer.

## Nested Class Summary

`public static class` | `ProducerManager.Factory` A `ProducerManager` factory.

## Method Summary

`public `ProducerInfo`` | `addProducer`(`String` wsdlUrl, `DefinitionsDocument` wsdl, `ServiceDescription` serviceDescription, `String` producerHandle, `String` description, `String` vendorName, `String` webappName, `HttpServletRequest` request) Adds a producer * * @param wsdlUrl WSDL URL * @param wsdl WSDL document * @param serviceDescription service description * @param producerHandle producer handle * @param description description * @param vendorName vendor * @param webappName web app * @param request HTTP request * @return producer info * @throws ProducerManagerException thrown due to an error performing the * operation
`public `ProducerInfo`` | `addProducer`(`ProducerInfo` producerInfo, `String` webappName) Adds a producer * * @param producerInfo producer info * @param webappName web app * @return producer info * @throws ProducerManagerException thrown due to an error performing the * operation
`public void` | `deregisterProducer`(`String` producerHandle, `String` webappName, `HttpServletRequest` httpRequest) Deregisters with the given producer.
`public `ProducerInfo`` | `getProducer`(`String` producerHandle, `String` webappName) Returns the producer, given its handle and the web app
`public `ProducerInfo`[]` | `getProducers`(`String` webappName) Returns an array of currently added producers
`public `ServiceDescription`` | `getServiceDescription`(`String` producerHandle, `String` webappName) Returns the service description for a specified producer WSDL URL
`public `String`` | `modifyProducerRegistration`(`String` producerHandle, `String` webappName, `Map` registrationProperties, `HttpServletRequest` httpRequest) Modifies a current producer's registration.
`public `String`` | `registerProducer`(`String` producerHandle, `String` webappName, `Map` registrationProperties, `HttpServletRequest` httpRequest) Registers this consumer with a producer.
`public void` | `removeProducer`(`String` producerHandle, `String` webappName) Removes a producer.
`public void` | `removeProducerCascade`(`String` producerHandle, `String` webappName, `HttpServletRequest` httpRequest) Removes a producer, first removing any added portlets for the producer.
`public void` | `updateProducer`(`ProducerInfo` producer, `String` webappName) Updates the given producer * * @param producer * @param webappName * @throws ProducerManagerException

## Method Detail

### addProducer(String, DefinitionsDocument, ServiceDescription, String, String, String, String, HttpServletRequest) Method

    public ProducerInfo addProducer(String wsdlUrl,
                                    DefinitionsDocument wsdl,
                                    ServiceDescription serviceDescription,
                                    String producerHandle,
                                    String description,
                                    String vendorName,
                                    String webappName,
                                    HttpServletRequest request)
         throws ProducerManagerException

Adds a producer

* * @param wsdlUrl WSDL URL * @param wsdl WSDL document * @param serviceDescription service description * @param producerHandle producer handle * @param description description * @param vendorName vendor * @param webappName web app * @param request HTTP request * @return producer info * @throws ProducerManagerException thrown due to an error performing the * operation

#### Exceptions

``ProducerManagerException``

### addProducer(ProducerInfo, String) Method

    public ProducerInfo addProducer(ProducerInfo producerInfo,
                                    String webappName)
         throws ProducerManagerException

Adds a producer

* * @param producerInfo producer info * @param webappName web app * @return producer info * @throws ProducerManagerException thrown due to an error performing the * operation

#### Exceptions

``ProducerManagerException``

### deregisterProducer(String, String, HttpServletRequest) Method

    public void deregisterProducer(String producerHandle,
                                   String webappName,
                                   HttpServletRequest httpRequest)
         throws IllegalArgumentException, RegistrationNotSupportedException, ProducerManagerException

Deregisters with the given producer.

* * @param producerHandle * @param webappName * @throws IllegalArgumentException if the given producer handle is invalid * @throws RegistrationNotSupportedException * @throws ProducerManagerException

#### Exceptions

``IllegalArgumentException``
``RegistrationNotSupportedException``
``ProducerManagerException``

### getProducer(String, String) Method

    public ProducerInfo getProducer(String producerHandle,
                                    String webappName)
         throws ProducerManagerException

Returns the producer, given its handle and the web app. * * @return producer * @throws ProducerManagerException thrown due to an error performing the * operation

#### Exceptions

``ProducerManagerException``

### getProducers(String) Method

    public ProducerInfo[] getProducers(String webappName)
         throws ProducerManagerException

Returns an array of currently added producers. * * @return an array of producers * @throws ProducerManagerException thrown due to an error performing the * operation

#### Exceptions

``ProducerManagerException``

### getServiceDescription(String, String) Method

    public ServiceDescription getServiceDescription(String producerHandle,
                                                    String webappName)
         throws ProducerManagerException

Returns the service description for a specified producer WSDL URL. * * @param producerHandle producer handle * @return service description * @throws ProducerManagerException thrown due to an error performing the * operation * @throws IllegalArgumentException thrown if the given producer handle is * invalid

#### Exceptions

``ProducerManagerException``

### modifyProducerRegistration(String, String, Map, HttpServletRequest) Method

    public String modifyProducerRegistration(String producerHandle,
                                             String webappName,
                                             Map registrationProperties,
                                             HttpServletRequest httpRequest)
         throws IllegalArgumentException, RegistrationNotSupportedException, ProducerManagerException

Modifies a current producer's registration. * * @param producerHandle producer handle * @param registrationProperties new registration properties * @throws IllegalArgumentException if the given producer handle is invalid * @throws RegistrationNotSupportedException thrown if the given producer does not * support registration * @throws ProducerManagerException thrown due to an error performing the * operation

#### Exceptions

``IllegalArgumentException``
``RegistrationNotSupportedException``
``ProducerManagerException``

### registerProducer(String, String, Map, HttpServletRequest) Method

    public String registerProducer(String producerHandle,
                                   String webappName,
                                   Map registrationProperties,
                                   HttpServletRequest httpRequest)
         throws IllegalArgumentException, RegistrationNotSupportedException, ProducerManagerException

Registers this consumer with a producer.

* * @param producerHandle producer handle * @param registrationProperties registration properties * @return the generated registration handle * @throws IllegalArgumentException if the given producer handle is invalid * @throws RegistrationNotSupportedException thrown if the given producer does not * support registration * @throws ProducerManagerException thrown due to an error performing the * operation

#### Exceptions

``IllegalArgumentException``
``RegistrationNotSupportedException``
``ProducerManagerException``

### removeProducer(String, String) Method

    public void removeProducer(String producerHandle,
                               String webappName)
         throws IllegalArgumentException, ProducerInUseException, ProducerManagerException

Removes a producer. If the producer still has added portlets, an exception is thrown. The producer being * removed must be known by the `RemotePortletManager`.

* * @param producerHandle The handle for the producer being removed * @param webappName the webapp name * @throws ProducerManagerException thrown due to an error performing the * operation * @throws ProducerInUseException thrown if the given producer can not be * removed * @throws IllegalArgumentException if the given producer handle is invalid

#### Exceptions

``IllegalArgumentException``
``ProducerInUseException``
``ProducerManagerException``

### removeProducerCascade(String, String, HttpServletRequest) Method

    public void removeProducerCascade(String producerHandle,
                                      String webappName,
                                      HttpServletRequest httpRequest)
         throws IllegalArgumentException, ProducerManagerException

Removes a producer, first removing any added portlets for the producer.

* * @param producerHandle The handle for the producer being removed * @param webappName the webapp name * @param httpRequest HttpServletRequest * @throws ProducerManagerException thrown due to an error performing the * operation * @throws IllegalArgumentException if the given producer handle is invalid

#### Exceptions

``IllegalArgumentException``
``ProducerManagerException``

### updateProducer(ProducerInfo, String) Method

    public void updateProducer(ProducerInfo producer,
                               String webappName)
         throws ProducerManagerException

Updates the given producer

* * @param producer * @param webappName * @throws ProducerManagerException

#### Exceptions

``ProducerManagerException``