Package org.wso2.carbon.proxyadmin.observer

## Class ProxyObserver

- java.lang.Object
- - org.wso2.carbon.proxyadmin.observer.ProxyObserver

- All Implemented Interfaces:
    `org.apache.axis2.description.ParameterInclude`, `org.apache.axis2.engine.AxisObserver`

      public class ProxyObserver
      extends Object
      implements org.apache.axis2.engine.AxisObserver

  Proxy observer observe the Proxy service in runtime and update the synapse Configuration

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ProxyObserver​(org.wso2.carbon.mediation.initializer.services.SynapseEnvironmentService synapseEnvironmentService, org.wso2.carbon.registry.core.Registry configRegistry)` | Constructs a new ProxyObserver using the given SynapseEnvironmentService.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addParameter​(org.apache.axis2.description.Parameter parameter)` |
    `void` | `deserializeParameters​(org.apache.axiom.om.OMElement omElement)` |
    `org.apache.axis2.description.Parameter` | `getParameter​(String s)` |
    `ArrayList<org.apache.axis2.description.Parameter>` | `getParameters()` |
    `void` | `init​(org.apache.axis2.engine.AxisConfiguration axisConfiguration)` |
    `boolean` | `isParameterLocked​(String s)` |
    `void` | `moduleUpdate​(org.apache.axis2.engine.AxisEvent event, org.apache.axis2.description.AxisModule axisModule)` |
    `void` | `removeParameter​(org.apache.axis2.description.Parameter parameter)` |
    `void` | `serviceGroupUpdate​(org.apache.axis2.engine.AxisEvent event, org.apache.axis2.description.AxisServiceGroup axisServiceGroup)` |
    `void` | `serviceUpdate​(org.apache.axis2.engine.AxisEvent event, org.apache.axis2.description.AxisService axisService)` |
    `void` | `setSynapseEnvironmentService​(org.wso2.carbon.mediation.initializer.services.SynapseEnvironmentService synapseEnvironmentService)` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ProxyObserver

          public ProxyObserver​(org.wso2.carbon.mediation.initializer.services.SynapseEnvironmentService synapseEnvironmentService,
                               org.wso2.carbon.registry.core.Registry configRegistry)
                        throws ProxyAdminException

      Constructs a new ProxyObserver using the given SynapseEnvironmentService. This constructor ensures that all the created proxy observer instances have a non-null SynapseConfiguration. Attempting to create a proxy observer with a null SynapseConfiguration would result in an exception. TODO: because of a bug in current equinox framework version, we no longer get events when new TODO: synapse environment created. So changed proxy observer config to take reference of TODO: synapseEnvService and obtaing synapse config from it See : ESBJAVA-1029
      Parameters:
        `synapseEnvironmentService` - the Synapse
        `configRegistry` - the registry
      Throws:
        `ProxyAdminException` - if the SynapseConfiguration is null

  - ### Method Detail

    - #### init

          public void init​(org.apache.axis2.engine.AxisConfiguration axisConfiguration)

      Specified by:
        `init` in interface `org.apache.axis2.engine.AxisObserver`

    - #### serviceUpdate

          public void serviceUpdate​(org.apache.axis2.engine.AxisEvent event,
                                    org.apache.axis2.description.AxisService axisService)

      Specified by:
        `serviceUpdate` in interface `org.apache.axis2.engine.AxisObserver`

    - #### moduleUpdate

          public void moduleUpdate​(org.apache.axis2.engine.AxisEvent event,
                                   org.apache.axis2.description.AxisModule axisModule)

      Specified by:
        `moduleUpdate` in interface `org.apache.axis2.engine.AxisObserver`

    - #### serviceGroupUpdate

          public void serviceGroupUpdate​(org.apache.axis2.engine.AxisEvent event,
                                         org.apache.axis2.description.AxisServiceGroup axisServiceGroup)

      Specified by:
        `serviceGroupUpdate` in interface `org.apache.axis2.engine.AxisObserver`

    - #### addParameter

          public void addParameter​(org.apache.axis2.description.Parameter parameter)
                            throws org.apache.axis2.AxisFault

      Specified by:
        `addParameter` in interface `org.apache.axis2.description.ParameterInclude`
      Throws:
        `org.apache.axis2.AxisFault`

    - #### removeParameter

          public void removeParameter​(org.apache.axis2.description.Parameter parameter)
                               throws org.apache.axis2.AxisFault

      Specified by:
        `removeParameter` in interface `org.apache.axis2.description.ParameterInclude`
      Throws:
        `org.apache.axis2.AxisFault`

    - #### deserializeParameters

          public void deserializeParameters​(org.apache.axiom.om.OMElement omElement)
                                     throws org.apache.axis2.AxisFault

      Specified by:
        `deserializeParameters` in interface `org.apache.axis2.description.ParameterInclude`
      Throws:
        `org.apache.axis2.AxisFault`

    - #### getParameter

          public org.apache.axis2.description.Parameter getParameter​(String s)

      Specified by:
        `getParameter` in interface `org.apache.axis2.description.ParameterInclude`

    - #### getParameters

          public ArrayList<org.apache.axis2.description.Parameter> getParameters()

      Specified by:
        `getParameters` in interface `org.apache.axis2.description.ParameterInclude`

    - #### isParameterLocked

          public boolean isParameterLocked​(String s)

      Specified by:
        `isParameterLocked` in interface `org.apache.axis2.description.ParameterInclude`

    - #### setSynapseEnvironmentService

          public void setSynapseEnvironmentService​(org.wso2.carbon.mediation.initializer.services.SynapseEnvironmentService synapseEnvironmentService)