javax.wbem.provider
Interface IndicationProvider

All Superinterfaces:
Provider

public interface IndicationProvider
extends Provider

This interface is implemented by indication providers.

Filters may be broken down into sub filters. Using sub filters, providers can process indications without knowing about the class hierarchy. The sub filter information is passed in as three arrays:

The following example illustrates the array contents where the class hierarchy in root/cimv2 is:
    test_a
    test_b : test_a
    test_c : test_a
    test_d : test_a
 
If Provider P is the provider for test_b and test_c and the filter is 'select * from CIM_InstIndication where sourceInstance ISA test_a and sourceInstance.prop1 = 20', then P gets the following subfilter information:
    subFilters[0] = "select * from CIM_InstCreation where sourceInstance.prop1=20"
    subFilters[1] = "select * from CIM_Deletion where sourceInstance.prop1=20"
    subFilters[2] = "select * from CIM_Modification where sourceInstance.prop1=20"
    subFilters[3] = "select * from CIM_Read where sourceInstance.prop1=20"
    subFilters[4] = "select * from CIM_Method where sourceInstance.prop1=20"
    subFilters[5] = "select * from CIM_InstCreation where sourceInstance.prop1=20"
    subFilters[6] = "select * from CIM_Deletion where sourceInstance.prop1=20"
    subFilters[7] = "select * from CIM_Modification where sourceInstance.prop1=20"
    subFilters[8] = "select * from CIM_Read where sourceInstance.prop1=20"
    subFilters[9] = "select * from CIM_Method where sourceInstance.prop1=20"
   
    classPath[0] = root/cimv2:test_b
    classPath[1] = root/cimv2:test_b
    classPath[2] = root/cimv2:test_b
    classPath[3] = root/cimv2:test_b
    classPath[4] = root/cimv2:test_b
    classPath[5] = root/cimv2:test_c
    classPath[6] = root/cimv2:test_c
    classPath[7] = root/cimv2:test_c
    classPath[8] = root/cimv2:test_c
    classPath[9] = root/cimv2:test_c
   
    eventType[0] = "CIM_InstCreation"
    eventType[1] = "CIM_InstDeletion"
    eventType[2] = "CIM_InstModification"
    eventType[3] = "CIM_InstRead"
    eventType[4] = "CIM_InstMethod"
    eventType[5] = "CIM_InstCreation"
    eventType[6] = "CIM_InstDeletion"
    eventType[7] = "CIM_InstModification"
    eventType[8] = "CIM_InstRead"
    eventType[9] = "CIM_InstMethod"
 
NOTE: eventType is not strictly needed as the Provider could extract it from the subFilters string. It is provided as a convenience.

Since:
JSR48 1.0.0

Method Summary
 void activateFilter(CIMInstance filter, CIMInstance destination, CIMInstance subscription, String[] subFilters, CIMObjectPath[] classPath, String[] eventType)
          This method will be called to inform the provider to start to listen and deliver events.
 void authorizeFilter(CIMInstance filter, CIMInstance listener, CIMInstance subscription, String[] subFilters, CIMObjectPath[] classPath, String[] eventType)
          This method will be called to test if the filter is supported.
 void deActivateFilter(CIMInstance filter, CIMInstance destination, CIMInstance subscription, String[] subFilters, CIMObjectPath[] classPath, String[] eventType)
          This method will be called to inform the provider to stop listening and delivering indications.
 
Methods inherited from interface javax.wbem.provider.Provider
close, initialize
 

Method Detail

activateFilter

void activateFilter(CIMInstance filter,
                    CIMInstance destination,
                    CIMInstance subscription,
                    String[] subFilters,
                    CIMObjectPath[] classPath,
                    String[] eventType)
                    throws WBEMException
This method will be called to inform the provider to start to listen and deliver events. This method will be called after the authorizeFilter method is called.

Parameters:
filter - The CIM_IndicationFilter instance being subscribed to.
destination - The CIM_ListenerDestination instance that is the destination of the indication.
subscription - The subscription instance associating the filter and listener.
subFilters - See description for IndicationProvider above
classPath - See description for IndicationProvider above
eventType - See description for IndicationProvider above
Throws:
WBEMException - If unsuccessful, one of the following status codes may be returned. The ORDERED list is:
  • CIM_ERR_ACCESS_DENIED
  • CIM_ERR_FAILED (Provider could not activat the filter)

authorizeFilter

void authorizeFilter(CIMInstance filter,
                     CIMInstance listener,
                     CIMInstance subscription,
                     String[] subFilters,
                     CIMObjectPath[] classPath,
                     String[] eventType)
                     throws WBEMException
This method will be called to test if the filter is supported. A provider that does not support this filter should return CIM_ERR_FAILED with a description stating that the filter is not supported.

Parameters:
filter - The CIM_IndicationFilter instance being subscribed to.
listener - The CIM_LisstenerDestination instance that is the destination of the indication.
subscription - The subscription instance associating the filter and destination.
subFilters - See description for IndicationProvider above
classPath - See description for IndicationProvider above
eventType - See description for IndicationProvider above
Throws:
WBEMException - If unsuccessful, one of the following status codes may be returned. The ORDERED list is:
  • CIM_ERR_ACCESS_DENIED
  • CIM_ERR_FAILED (some other unspecified error occurred)
See Also:
Authorizable

deActivateFilter

void deActivateFilter(CIMInstance filter,
                      CIMInstance destination,
                      CIMInstance subscription,
                      String[] subFilters,
                      CIMObjectPath[] classPath,
                      String[] eventType)
                      throws WBEMException
This method will be called to inform the provider to stop listening and delivering indications.

Parameters:
filter - The CIM_IndicationFilter instance being subscribed to.
destination - The CIM_ListenerDestination instance that is the destination of the indications.
subscription - The subscription instance associating the filter and destination.
subFilters - See description for IndicationProvider above
classPath - See description for IndicationProvider above
eventType - See description for IndicationProvider above
Throws:
WBEMException - If unsuccessful, one of the following status codes may be returned. The ORDERED list is:
  • CIM_ERR_ACCESS_DENIED
  • CIM_ERR_FAILED (Provider could not deactivate the filter)


Copyright © 2002-2008 WBEM Solutions, Inc. All Rights Reserved.