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)
          Invoked to ask the Provider to check for events.
 void authorizeFilter(CIMInstance filter, CIMInstance listener, CIMInstance subscription, String[] subFilters, CIMObjectPath[] classPath, String[] eventType)
          Invoked to test if the given subscription is allowed.
 void deActivateFilter(CIMInstance filter, CIMInstance destination, CIMInstance subscription, String[] subFilters, CIMObjectPath[] classPath, String[] eventType)
          Invoked to deactivate an event filter.
 
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
Invoked to ask the Provider to check for events.

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_NOT_SUPPORTED (provider does not support this method)
  • CIM_ERR_INVALID_PARAMETER (for this method)
  • 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
Invoked to test if the given subscription is allowed.

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_NOT_SUPPORTED (provider does not support this method)
  • CIM_ERR_INVALID_PARAMETER (for this method)
  • 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
Invoked to deactivate an event filter.

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_NOT_SUPPORTED (provider does not support this method)
  • CIM_ERR_INVALID_PARAMETER (for this method)
  • CIM_ERR_FAILED (Provider could not deactivate the filter)


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