The Java Object Validation Framework
Download (SourceForge Hosted)
iScreen is a Java Object Validation Framework, which means that it validates the data of Java objects (typically JavaBeans). The basic process for this is to pass an object to a configured validation service. If any failures occur, an exception is thrown. Information about the failure (or failures) can be obtained directly from the thrown exception.
iScreen is designed to be used with IoC Containers, such as Spring or HiveMind. The reason for this is the fact that validation is typically "tacked on" to applications, and using an IoC Container (IoC means Inversion of Control) helps to associate those objects requiring validation with the validations that need to act upon them. However, iScreen does not require this type of container, and can be used directly via API calls.
This User Guide is broken up into several sections in order to organize the different aspects of using iScreen. Though the overall design of iScreen is to simplify and organize validations, there are many complexities that can make using it difficult. The following links are meant to be read in order, though the certainly don't have to be.
iScreen Glossary : The glossary helps to define terms that are specific to iScreen. These help to discuss the different aspects of iScreen and how those parts relate to each other.
The Factory : The factory section describes how to get access to iScreen validations within your applications. There are two basic ways: directly through the API; or through an IoC Container (or some similiar configuration approach).
The API : The API (Application Programming Interface) section describes how to use iScreen once you have access to it. For example, this section deals with performing a validation and dealing with exceptions that are thrown.
XML Configuration : One of the motivations behind iScreen is to minimize the amount of code used by putting as much as possible into a configuration file. Though the design supports multiple configuration formats, the only one currently implemented is XML. This section details the XML configuration file.
OGNL (and MVEL) Usage : The XML configuration file takes advantage of an external library called OGNL (Object Graph Notation Language) and MVEL (MVFLEX Expression Language). For complete details on OGNL, see the OGNL Homepage. For details on MVEL, see the MVEL website. This section describes how OGNL is utilized in the XML configuration files and how to take best advantage of it (which is about the same way MVEL is used, as well).
Writing Custom Validators : This section details how to write your own validators. Of course, the best way to learn how is to review the existing ones' source code.
Validator Catalog : iScreen comes with a few existing validators that can be used immediately. These validators are described here.
Advanced Topics : Writing documentation is difficult, especially when the number of features is fairly significant (or there are lots of "tricks" available). This section is here to catch all those off-the-wall details that would bog the rest of the documentation down too much. This is also an area where "interesting" approaches to using iScreen can go. So, if you find yourself using iScreen in a non-standard way because "it just works," then feel free to submit the idea for inclusion in this section.