Interface Constraint<V>

  • Type Parameters:
    V - value type

    public interface Constraint<V>
    Perform a validation on data upon load.
    Since:
    4.0.0
    • Method Detail

      • validate

        void validate​(@Nullable V value)
               throws SerializationException
        Check if the provided deserialized value matches an expected condition.
        Parameters:
        value - value to test
        Throws:
        SerializationException - if the value falls outside its constraint.
        Since:
        4.0.0
      • required

        static <T extends java.lang.annotation.Annotation> Constraint.Factory<T,​java.lang.Object> required()
        Require a value to be present for fields marked with the annotation T.
        Type Parameters:
        T - marker annotation type
        Returns:
        new constraint factory
        Since:
        4.0.0
      • pattern

        static Constraint.Factory<Matches,​java.lang.String> pattern()
        Require values to match the pattern provided.

        Upon failure, an error message will be taken from the annotation.

        Returns:
        factory providing matching pattern test
        Since:
        4.0.0
      • localizedPattern

        static Constraint.Factory<Matches,​java.lang.String> localizedPattern​(java.util.ResourceBundle bundle)
        Require values to match the pattern provided.

        Upon failure, an error message will be taken from bundle with a key defined in the annotation.

        Parameters:
        bundle - source for localized messages
        Returns:
        factory providing matching pattern test
        Since:
        4.0.0