001    package nu.validator.relaxng.exceptions;
002    
003    import org.xml.sax.Locator;
004    import org.xml.sax.SAXParseException;
005    
006    import com.thaiopensource.relaxng.impl.SchemaBuilderImpl;
007    import com.thaiopensource.util.Localizer;
008    import com.thaiopensource.xml.util.Name;
009    
010    public abstract class AbstractValidationException extends SAXParseException {
011    
012        protected static final Localizer localizer = new Localizer(SchemaBuilderImpl.class);
013        
014        private final Name currentElement;
015        private final Name parent;
016        
017        AbstractValidationException(String formattedMessage, Locator locator, Name currentElement, Name parent) {
018            super(formattedMessage, locator);
019            this.currentElement = currentElement;
020            this.parent = parent;
021        }
022    
023        /**
024         * Returns the currentElement.
025         * 
026         * @return the currentElement
027         */
028        public Name getCurrentElement() {
029            return currentElement;
030        }
031    
032        /**
033         * Returns the parent.
034         * 
035         * @return the parent
036         */
037        public Name getParent() {
038            return parent;
039        }
040    }