Class ValidationXMLReader

  • All Implemented Interfaces:
    java.util.concurrent.Callable<java.util.Map<java.lang.Class<?>,​java.lang.Boolean>>

    public class ValidationXMLReader
    extends java.lang.Object
    implements java.util.concurrent.Callable<java.util.Map<java.lang.Class<?>,​java.lang.Boolean>>
    Detects external Bean Validation configuration.

    Strategy:
    1. Parse validation.xml, looking for a constraints-file reference.
    2. For each reference, if file is found, parses the constraints file and puts all classes declared under <bean class="clazz"> into constraintsOnClasses field of BeanValidationHelper class with Boolean.TRUE value.

    This class contains resources-burdening instance fields (e.g. SAXParser) and as such was designed to be instantiated once (make the instance BOUNDED) and have call() method called on that instance once.

    Not suitable for singleton (memory burden). The method #parse() will be invoked only once per class load of this class. After that the instance and all its fields should be made collectible by GC.

    Author:
    Marcel Valovy, Dmitry Kornilov, Miroslav Kos
    Since:
    2.6
    • Constructor Detail

      • ValidationXMLReader

        public ValidationXMLReader()
    • Method Detail

      • call

        public java.util.Map<java.lang.Class<?>,​java.lang.Boolean> call()
                                                                       throws java.lang.Exception
        Parses validation.xml.
        Specified by:
        call in interface java.util.concurrent.Callable<java.util.Map<java.lang.Class<?>,​java.lang.Boolean>>
        Returns:
        returns a map with classes found in validation.xml as keys and true as a value. Never returns null.
        Throws:
        java.lang.Exception
      • isValidationXmlPresent

        public static boolean isValidationXmlPresent()
        Checks if validation.xml exists.