001: /*
002: * Copyright (c) 1998-2006 Caucho Technology -- all rights reserved
003: *
004: * This file is part of Resin(R) Open Source
005: *
006: * Each copy or derived work must preserve the copyright notice and this
007: * notice unmodified.
008: *
009: * Resin Open Source is free software; you can redistribute it and/or modify
010: * it under the terms of the GNU General Public License as published by
011: * the Free Software Foundation; either version 2 of the License, or
012: * (at your option) any later version.
013: *
014: * Resin Open Source is distributed in the hope that it will be useful,
015: * but WITHOUT ANY WARRANTY; without even the implied warranty of
016: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, or any warranty
017: * of NON-INFRINGEMENT. See the GNU General Public License for more
018: * details.
019: *
020: * You should have received a copy of the GNU General Public License
021: * along with Resin Open Source; if not, write to the
022: *
023: * Free Software Foundation, Inc.
024: * 59 Temple Place, Suite 330
025: * Boston, MA 02111-1307 USA
026: *
027: * @author Scott Ferguson
028: */
029:
030: package javax.xml.bind.helpers;
031:
032: import org.w3c.dom.Node;
033: import org.xml.sax.Locator;
034: import org.xml.sax.SAXParseException;
035: import org.xml.sax.helpers.LocatorImpl;
036:
037: import javax.xml.bind.ValidationEventLocator;
038: import java.net.URL;
039:
040: public class ValidationEventLocatorImpl implements
041: ValidationEventLocator {
042:
043: private URL _url;
044: private LocatorImpl _locator;
045: private Node _node;
046: private Object _object;
047: private int _offset = -1;
048: private SAXParseException _exception;
049:
050: public ValidationEventLocatorImpl() {
051: initLocator();
052: }
053:
054: public ValidationEventLocatorImpl(Locator locator) {
055: _locator = new LocatorImpl(locator);
056: }
057:
058: public ValidationEventLocatorImpl(Node node) {
059: _node = node;
060: initLocator();
061: }
062:
063: public ValidationEventLocatorImpl(Object object) {
064: _object = object;
065: initLocator();
066: }
067:
068: public ValidationEventLocatorImpl(SAXParseException e) {
069: _exception = e;
070: _locator = new LocatorImpl();
071: _locator.setColumnNumber(e.getColumnNumber());
072: _locator.setLineNumber(e.getLineNumber());
073: }
074:
075: private void initLocator() {
076: _locator = new LocatorImpl();
077: _locator.setColumnNumber(-1);
078: _locator.setLineNumber(-1);
079: }
080:
081: public int getColumnNumber() {
082: return _locator.getColumnNumber();
083: }
084:
085: public int getLineNumber() {
086: return _locator.getLineNumber();
087: }
088:
089: public Node getNode() {
090: return _node;
091: }
092:
093: public Object getObject() {
094: return _object;
095: }
096:
097: public int getOffset() {
098: return _offset;
099: }
100:
101: public URL getURL() {
102: return _url;
103: }
104:
105: public void setColumnNumber(int columnNumber) {
106: _locator.setColumnNumber(columnNumber);
107: }
108:
109: public void setLineNumber(int lineNumber) {
110: _locator.setLineNumber(lineNumber);
111: }
112:
113: public void setNode(Node node) {
114: _node = node;
115: }
116:
117: public void setObject(Object object) {
118: _object = object;
119: }
120:
121: public void setOffset(int offset) {
122: _offset = offset;
123: }
124:
125: public void setURL(URL url) {
126: _url = url;
127: }
128: }
|