Interface Validatable

    • Method Detail

      • addValidator

        void addValidator​(Validator validator)

        Adds a new validator for this object. The validator's Validator.validate(Object) method is activated every time the object's value needs to be verified, that is, when the isValid() method is called. This usually happens when the object's value changes.

        Parameters:
        validator - the new validator
      • removeValidator

        void removeValidator​(Validator validator)

        Removes a previously registered validator from the object. The specified validator is removed from the object and its validate method is no longer called in isValid().

        Parameters:
        validator - the validator to remove
      • removeAllValidators

        void removeAllValidators()
        Removes all validators from this object, as if removeValidator was called for each registered validator.
      • getValidators

        Collection<Validator> getValidators()

        Returns a collection of all validators currently registered for the object. The collection may be immutable. Calling removeValidator for this Validatable while iterating over the collection may be unsafe (e.g. may throw ConcurrentModificationException.)

        Returns:
        A collection of validators
      • isValid

        boolean isValid()

        Tests the current value of the object against all registered validators. The registered validators are iterated and for each the Validator.validate(Object) method is called. If any validator throws the Validator.InvalidValueException this method returns false.

        Returns:
        true if the registered validators concur that the value is valid, false otherwise
      • isInvalidAllowed

        boolean isInvalidAllowed()

        Checks the validabtable object accept invalid values.The default value is true.

      • setInvalidAllowed

        void setInvalidAllowed​(boolean invalidValueAllowed)
                        throws UnsupportedOperationException

        Should the validabtable object accept invalid values. Supporting this configuration possibility is optional. By default invalid values are allowed.

        Parameters:
        invalidValueAllowed -
        Throws:
        UnsupportedOperationException - if the setInvalidAllowed is not supported.