Interface ServiceEffectivityDelegate

All Superinterfaces:
Comparator<ServiceEffectivity>
All Known Implementing Classes:
DefaultServiceEffectivityDelegate

public interface ServiceEffectivityDelegate extends Comparator<ServiceEffectivity>
The ServiceEffectivityDelegate interface defines methods used to compare ServiceEffectivity objects against each other and against a filter. Delegates are associated with ServiceEffectivity soft types via xconf (see sis.typedservices.properties.xconf for an example). A default delegate DefaultServiceEffectivityDelegate will be used if no other appropriate delegate has been assigned via xconf.

Supported API: true

Extendable: true
  • Method Details

    • checkEffectivity

      boolean checkEffectivity(ServiceEffectivity effectivity, Object context, String startSN, String endSN, Timestamp startDate, Timestamp endDate, Map<String,Object> filterData) throws IllegalArgumentException
      Checks an effectivity object to see if it matches the given filter data.
      Serial number comparison in the default delegate interprets the serial numbers as decimal integers and may not be correct for some customers. Customers may replace the default delegate with a ServiceEffectivityDelegate implementation from scratch or inherit from the default delegate and override its serial number comparator.
      Parameters:
      effectivity - The ServiceEffectivity object to be tested against the filter parameters.
      context - The filter context object.
      startSN - The filter serial number range start value.
      endSN - The filter serial number range end value. A null value means there is no upper bound.
      startDate - The filter date range start value.
      endDate - The filter date range end value. A null value means there is no upper bound.
      filterData - A Map which can contain custom filter parameters to be interpreted by a custom delegate.
      Returns:
      true if the ServiceEffectivity object matches the filter parameters, false otherwise. Matching rules are determined by the implementing classes.
      Throws:
      IllegalArgumentException - if filterData does not contain fields required by this delegate.
      Supported API: true