/* ValidatorPlugin.java NanoXML/Java * * $Revision: 1.3 $ * $Date: 2002/01/04 21:03:29 $ * $Name: RELEASE_2_2_1 $ * * This file is part of NanoXML 2 for Java. * Copyright (C) 2000-2002 Marc De Scheemaecker, All Rights Reserved. * * This software is provided 'as-is', without any express or implied warranty. * In no event will the authors be held liable for any damages arising from the * use of this software. * * Permission is granted to anyone to use this software for any purpose, * including commercial applications, and to alter it and redistribute it * freely, subject to the following restrictions: * * 1. The origin of this software must not be misrepresented; you must not * claim that you wrote the original software. If you use this software in * a product, an acknowledgment in the product documentation would be * appreciated but is not required. * * 2. Altered source versions must be plainly marked as such, and must not be * misrepresented as being the original software. * * 3. This notice may not be removed or altered from any source distribution. */ package edu.isi.karma.modeling.research.graphmatching.net.n3.nanoxml; import java.io.Reader; import java.io.IOException; import java.util.Properties; /** * @author kriesen */ public class ValidatorPlugin implements IXMLValidator { /** * The delegate. */ private IXMLValidator delegate; /** * Initializes the plugin. */ public ValidatorPlugin() { this.delegate = null; } /** * Cleans up the object when it's destroyed. */ protected void finalize() throws Throwable { this.delegate = null; super.finalize(); } /** * Returns the delegate. * @uml.property name="delegate" */ public IXMLValidator getDelegate() { return this.delegate; } /** * Sets the delegate. * @param delegate the delegate * @uml.property name="delegate" */ public void setDelegate(IXMLValidator delegate) { this.delegate = delegate; } /** * Sets the parameter entity resolver. * * @param resolver the entity resolver. */ public void setParameterEntityResolver(IXMLEntityResolver resolver) { this.delegate.setParameterEntityResolver(resolver); } /** * Returns the parameter entity resolver. * * @return the entity resolver. */ public IXMLEntityResolver getParameterEntityResolver() { return this.delegate.getParameterEntityResolver(); } /** * Parses the DTD. The validator object is responsible for reading the * full DTD. * * @param publicID the public ID, which may be null. * @param reader the reader to read the DTD from. * @param entityResolver the entity resolver. * @param external true if the DTD is external. * * @throws java.lang.Exception * if something went wrong. */ public void parseDTD(String publicID, IXMLReader reader, IXMLEntityResolver entityResolver, boolean external) throws Exception { this.delegate.parseDTD(publicID, reader, entityResolver, external); } /** * Indicates that an element has been started. * * @param name the name of the element. * @param systemId the system ID of the XML data of the element. * @param lineNr the line number in the XML data of the element. * * @throws java.lang.Exception * if the element could not be validated. */ public void elementStarted(String name, String systemId, int lineNr) throws Exception { this.delegate.elementStarted(name, systemId, lineNr); } /** * Indicates that the current element has ended. * * @param name the name of the element. * @param systemId the system ID of the XML data of the element. * @param lineNr the line number in the XML data of the element. * * @throws java.lang.Exception * if the element could not be validated. */ public void elementEnded(String name, String systemId, int lineNr) throws Exception { this.delegate.elementEnded(name,systemId, lineNr); } /** * Indicates that an attribute has been added to the current element. * * @param key the name of the attribute. * @param value the value of the attribute. * @param systemId the system ID of the XML data of the element. * @param lineNr the line number in the XML data of the element. * * @throws java.lang.Exception * if the attribute could not be validated. */ public void elementAttributesProcessed(String name, Properties extraAttributes, String systemId, int lineNr) throws Exception { this.delegate.elementAttributesProcessed(name, extraAttributes, systemId, lineNr); } /** * This method is called when the attributes of an XML element have been * processed. * If there are attributes with a default value which have not been * specified yet, they have to be put into <I>extraAttributes</I>. * * @param name the name of the element. * @param extraAttributes where to put extra attributes. * @param systemId the system ID of the XML data of the element. * @param lineNr the line number in the XML data of the element. * * @throws java.lang.Exception * if the element could not be validated. */ public void attributeAdded(String key, String value, String systemId, int lineNr) throws Exception { this.delegate.attributeAdded(key, value, systemId, lineNr); } /** * Indicates that a new #PCDATA element has been encountered. * * @param systemId the system ID of the XML data of the element. * @param lineNr the line number in the XML data of the element. * * @throws java.lang.Exception * if the element could not be validated. */ public void PCDataAdded(String systemId, int lineNr) throws Exception { this.delegate.PCDataAdded(systemId, lineNr); } /** * Throws an XMLValidationException to indicate that an element is missing. * * @param systemID the system ID of the XML data of the element * @param lineNr the line number in the XML data of the element * @param parentElementName the name of the parent element * @param missingElementName the name of the missing element * * @throws net.n3.nanoxml.XMLValidationException * of course :-) */ public void missingElement(String systemID, int lineNr, String parentElementName, String missingElementName) throws XMLValidationException { XMLUtil.errorMissingElement(systemID, lineNr, parentElementName, missingElementName); } /** * Throws an XMLValidationException to indicate that an element is * unexpected. * * @param systemID the system ID of the XML data of the * element * @param lineNr the line number in the XML data of the * element * @param parentElementName the name of the parent element * @param unexpectedElementName the name of the missing element * * @throws net.n3.nanoxml.XMLValidationException * of course :-) */ public void unexpectedElement(String systemID, int lineNr, String parentElementName, String unexpectedElementName) throws XMLValidationException { XMLUtil.errorUnexpectedElement(systemID, lineNr, parentElementName, unexpectedElementName); } /** * Throws an XMLValidationException to indicate that an attribute is * missing. * * @param systemID the system ID of the XML data of the element * @param lineNr the line number in the XML data of the element * @param elementName the name of the element * @param attributeName the name of the missing attribute * * @throws net.n3.nanoxml.XMLValidationException * of course :-) */ public void missingAttribute(String systemID, int lineNr, String elementName, String attributeName) throws XMLValidationException { XMLUtil.errorMissingAttribute(systemID, lineNr, elementName, attributeName); } /** * Throws an XMLValidationException to indicate that an attribute is * unexpected. * * @param systemID the system ID of the XML data of the element * @param lineNr the line number in the XML data of the element * @param elementName the name of the element * @param attributeName the name of the unexpected attribute * * @throws net.n3.nanoxml.XMLValidationException * of course :-) */ public void unexpectedAttribute(String systemID, int lineNr, String elementName, String attributeName) throws XMLValidationException { XMLUtil.errorUnexpectedAttribute(systemID, lineNr, elementName, attributeName); } /** * Throws an XMLValidationException to indicate that an attribute has an * invalid value. * * @param systemID the system ID of the XML data of the element * @param lineNr the line number in the XML data of the element * @param elementName the name of the element * @param attributeName the name of the attribute * @param attributeValue the value of the attribute * * @throws net.n3.nanoxml.XMLValidationException * of course :-) */ public void invalidAttributeValue(String systemID, int lineNr, String elementName, String attributeName, String attributeValue) throws XMLValidationException { XMLUtil.errorInvalidAttributeValue(systemID, lineNr, elementName, attributeName, attributeValue); } /** * Throws an XMLValidationException to indicate that a #PCDATA element was * missing. * * @param systemID the system ID of the XML data of the element * @param lineNr the line number in the XML data of the element * @param parentElementName the name of the parent element * * @throws net.n3.nanoxml.XMLValidationException * of course :-) */ public void missingPCData(String systemID, int lineNr, String parentElementName) throws XMLValidationException { XMLUtil.errorMissingPCData(systemID, lineNr, parentElementName); } /** * Throws an XMLValidationException to indicate that a #PCDATA element was * unexpected. * * @param systemID the system ID of the XML data of the element * @param lineNr the line number in the XML data of the element * @param parentElementName the name of the parent element * * @throws net.n3.nanoxml.XMLValidationException * of course :-) */ public void unexpectedPCData(String systemID, int lineNr, String parentElementName) throws XMLValidationException { XMLUtil.errorUnexpectedPCData(systemID, lineNr, parentElementName); } /** * Throws an XMLValidationException. * * @param systemID the system ID of the XML data of the element * @param lineNr the line number in the XML data of the element * @param message the error message * @param elementName the name of the element (may be null) * @param attributeName the name of the attribute (may be null) * @param attributeValue the value of the attribute (may be null) * * @throws net.n3.nanoxml.XMLValidationException * of course :-) */ public void validationError(String systemID, int lineNr, String message, String elementName, String attributeName, String attributeValue) throws XMLValidationException { XMLUtil.validationError(systemID, lineNr, message, elementName, attributeName, attributeValue); } }