anchor.diff:  include::{sourcetestdir}/eu/europa/esig/dss/cookbook/example/snippets/StylesheetSnippet.java[tags=custom]
   ----
   
  +== Alerts
  +
  +Since DSS 5.7 the framework includes an extended possibility to execute custom processes in case of arbitrary defined events.
  +
  +The `Alert` is a basic interface used to trigger a process on a passed object.
  +DSS provides an `AbtractAlert` implementation of the interface with a clearly defined structure. The class must be defined with two attributes:
  + * `Detector` - used to detect an event/state of the object and trigger a process;
  + * `AlertHandler` - defines a process to be executed on an object.
  +
  +In its basic module framework provides a few alerts allowing to handle Exceptions:
  + * `ExceptionAlert` - accepts a custom AlertHandler to perform actions on an exception if present;
  + * `DSSLogAlert` - allows to define a log level and print of a stacktrace if an exception occurs.
  +
  +The usage of alerts is available in the following classes:
  + * XML-configurators from `dss-jaxb-parsers` module : `TransformerFactoryBuilder`, `SchemaFactoryBuilder`, `ValidatorConfigurator`;
  + * <<certificateVerifier>> - to handle the raising exception in a custom way (introduced `DSSExceptionAlert` to re-throw exceptions);
  + * <<tlValidationJob>> - to process custom actions on change/state on loading of LOTL/TLs (see `LOTLAlert` and `TLAlert`).
  +
   == I18N (Internationalization)
   
   Since DSS 5.6 a new module has been introduced allowing changing of a language for reports generated by DSS. The current version of the framework allows customization of text values only for a  `DetailedReport`.
  
positive.code: ==== Shared modules
  
  dss-enumerations:: Contains a list of all used enumerations in the DSS project.
  dss-jaxb-parsers:: Contains a list of all classes used to transform JAXB objects/strings to Java objects and vice versa.
  
  ==== JAXB model modules
  
negative.code: 
  === Alerting from TL Loading
  
  DSS allows running of custom alerts in some situations (eg : invalid TL signature, LOTL location change,...). Alert works with two concepts : detection and alert handler. After the download/parsing/validation and before the synchronization, the results are tested to detect events and launch alert(s).
  
  [source,java,indent=0]
  .Examples of Alerting
  