001/*
002 *                    BioJava development code
003 *
004 * This code may be freely distributed and modified under the
005 * terms of the GNU Lesser General Public Licence.  This should
006 * be distributed with the code.  If you do not have a copy,
007 * see:
008 *
009 *      http://www.gnu.org/copyleft/lesser.html
010 *
011 * Copyright for this code is held jointly by the individual
012 * authors.  These should be listed in @author doc comments.
013 *
014 * For more information on the BioJava project and its aims,
015 * or to join the biojava-l mailing list, visit the home page
016 * at:
017 *
018 *      http://www.biojava.org/
019 *
020 */
021package org.biojava.nbio.aaproperties.xml;
022
023import org.slf4j.Logger;
024import org.slf4j.LoggerFactory;
025
026import javax.xml.bind.ValidationEvent;
027import javax.xml.bind.ValidationEventHandler;
028import javax.xml.bind.ValidationEventLocator;
029
030public class MyValidationEventHandler implements ValidationEventHandler{
031
032        private final static Logger logger = LoggerFactory.getLogger(MyValidationEventHandler.class);
033
034        @Override
035        public boolean handleEvent(ValidationEvent ve) {
036                if (ve.getSeverity() == ValidationEvent.FATAL_ERROR ||  ve.getSeverity() == ValidationEvent.ERROR){
037                        ValidationEventLocator  locator = ve.getLocator();
038                        //print message from valdation event
039                        logger.info("Message is {}", ve.getMessage());
040                        //output line and column number
041                        logger.info("Column is {} at line number {}", locator.getColumnNumber(), locator.getLineNumber());
042
043                        return false;
044                }
045                return true;
046        }
047}