Class AggregateValidationStatus

  • All Implemented Interfaces:
    IObservable, IObservableValue<IStatus>

    public final class AggregateValidationStatus
    extends ComputedValue<IStatus>
    This class can be used to aggregate status values from a data binding context into a single status value. Instances of this class can be used as an observable value with a value type of IStatus, or the static methods can be called directly if an aggregated status result is only needed once.
    Since:
    1.0
    • Field Detail

      • MERGED

        public static final int MERGED
        Constant denoting an aggregation strategy that merges multiple non-OK status objects in a MultiStatus. Returns an OK status result if all statuses from the given validation status providers are the an OK status. Returns a single status if there is only one non-OK status.
        See Also:
        getStatusMerged(Collection), Constant Field Values
      • MAX_SEVERITY

        public static final int MAX_SEVERITY
        Constant denoting an aggregation strategy that always returns the most severe status from the given validation status providers. If there is more than one status at the same severity level, it picks the first one it encounters.
        See Also:
        getStatusMaxSeverity(Collection), Constant Field Values
    • Method Detail

      • calculate

        protected IStatus calculate()
        Description copied from class: ComputedValue
        Subclasses must override this method to provide the object's value. Any dependencies used to calculate the value must be IObservable, and implementers must use one of the interface methods tagged TrackedGetter for ComputedValue to recognize it as a dependency.
        Specified by:
        calculate in class ComputedValue<IStatus>
        Returns:
        the object's value
      • getStatusMerged

        public static IStatus getStatusMerged​(Collection<? extends ValidationStatusProvider> validationStatusProviders)
        Returns a status object that merges multiple non-OK status objects in a MultiStatus. Returns an OK status result if all statuses from the given validation status providers are the an OK status. Returns a single status if there is only one non-OK status.
        Parameters:
        validationStatusProviders - a collection of validation status providers
        Returns:
        a merged status
      • getStatusMaxSeverity

        public static IStatus getStatusMaxSeverity​(Collection<? extends ValidationStatusProvider> validationStatusProviders)
        Returns a status that always returns the most severe status from the given validation status providers. If there is more than one status at the same severity level, it picks the first one it encounters.
        Parameters:
        validationStatusProviders - a collection of validation status providers
        Returns:
        a single status reflecting the most severe status from the given validation status providers
      • addListener

        protected void addListener​(Object listenerType,
                                   IObservablesListener listener)
        Parameters:
        listenerType - arbitrary object to identify a type of the listener
        listener - the listener to add; not null
      • removeListener

        protected void removeListener​(Object listenerType,
                                      IObservablesListener listener)
        Parameters:
        listenerType - arbitrary object to identify a type of the listener
        listener - the listener to remove; not null
      • firstListenerAdded

        protected void firstListenerAdded()
      • lastListenerRemoved

        protected void lastListenerRemoved()
      • getRealm

        public Realm getRealm()
        Returns:
        Returns the realm.