001: /*
002: * Licensed to the Apache Software Foundation (ASF) under one or more
003: * contributor license agreements. See the NOTICE file distributed with
004: * this work for additional information regarding copyright ownership.
005: * The ASF licenses this file to You under the Apache License, Version 2.0
006: * (the "License"); you may not use this file except in compliance with
007: * the License. You may obtain a copy of the License at
008: *
009: * http://www.apache.org/licenses/LICENSE-2.0
010: *
011: * Unless required by applicable law or agreed to in writing, software
012: * distributed under the License is distributed on an "AS IS" BASIS,
013: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014: * See the License for the specific language governing permissions and
015: * limitations under the License.
016: */
017:
018: package org.apache.xerces.dom;
019:
020: import org.w3c.dom.DOMLocator;
021: import org.w3c.dom.Node;
022:
023: /**
024: * <code>DOMLocatorImpl</code> is an implementaion that describes a location (e.g.
025: * where an error occured).
026: * <p>See also the <a href='http://www.w3.org/TR/2001/WD-DOM-Level-3-Core-20010913'>Document Object Model (DOM) Level 3 Core Specification</a>.
027: *
028: * @xerces.internal
029: *
030: * @author Gopal Sharma, SUN Microsystems Inc.
031: * @version $Id: DOMLocatorImpl.java 447266 2006-09-18 05:57:49Z mrglavas $
032: */
033:
034: public class DOMLocatorImpl implements DOMLocator {
035:
036: //
037: // Data
038: //
039:
040: /**
041: * The column number where the error occured,
042: * or -1 if there is no column number available.
043: */
044: public int fColumnNumber = -1;
045:
046: /**
047: * The line number where the error occured,
048: * or -1 if there is no line number available.
049: */
050: public int fLineNumber = -1;
051:
052: /** related data node*/
053: public Node fRelatedNode = null;
054:
055: /**
056: * The URI where the error occured,
057: * or null if there is no URI available.
058: */
059: public String fUri = null;
060:
061: /**
062: * The byte offset into the input source this locator is pointing to or -1
063: * if there is no byte offset available
064: */
065: public int fByteOffset = -1;
066:
067: /**
068: * The UTF-16, as defined in [Unicode] and Amendment 1 of [ISO/IEC 10646],
069: * offset into the input source this locator is pointing to or -1 if there
070: * is no UTF-16 offset available.
071: */
072: public int fUtf16Offset = -1;
073:
074: //
075: // Constructors
076: //
077:
078: public DOMLocatorImpl() {
079: }
080:
081: public DOMLocatorImpl(int lineNumber, int columnNumber, String uri) {
082: fLineNumber = lineNumber;
083: fColumnNumber = columnNumber;
084: fUri = uri;
085: } // DOMLocatorImpl (int lineNumber, int columnNumber, String uri )
086:
087: public DOMLocatorImpl(int lineNumber, int columnNumber,
088: int utf16Offset, String uri) {
089: fLineNumber = lineNumber;
090: fColumnNumber = columnNumber;
091: fUri = uri;
092: fUtf16Offset = utf16Offset;
093: } // DOMLocatorImpl (int lineNumber, int columnNumber, int utf16Offset, String uri )
094:
095: public DOMLocatorImpl(int lineNumber, int columnNumber,
096: int byteoffset, Node relatedData, String uri) {
097: fLineNumber = lineNumber;
098: fColumnNumber = columnNumber;
099: fByteOffset = byteoffset;
100: fRelatedNode = relatedData;
101: fUri = uri;
102: } // DOMLocatorImpl (int lineNumber, int columnNumber, int offset, Node errorNode, String uri )
103:
104: public DOMLocatorImpl(int lineNumber, int columnNumber,
105: int byteoffset, Node relatedData, String uri,
106: int utf16Offset) {
107: fLineNumber = lineNumber;
108: fColumnNumber = columnNumber;
109: fByteOffset = byteoffset;
110: fRelatedNode = relatedData;
111: fUri = uri;
112: fUtf16Offset = utf16Offset;
113: } // DOMLocatorImpl (int lineNumber, int columnNumber, int offset, Node errorNode, String uri )
114:
115: /**
116: * The line number where the error occured, or -1 if there is no line
117: * number available.
118: */
119: public int getLineNumber() {
120: return fLineNumber;
121: }
122:
123: /**
124: * The column number where the error occured, or -1 if there is no column
125: * number available.
126: */
127: public int getColumnNumber() {
128: return fColumnNumber;
129: }
130:
131: /**
132: * The URI where the error occured, or null if there is no URI available.
133: */
134: public String getUri() {
135: return fUri;
136: }
137:
138: public Node getRelatedNode() {
139: return fRelatedNode;
140: }
141:
142: /**
143: * The byte offset into the input source this locator is pointing to or -1
144: * if there is no byte offset available
145: */
146: public int getByteOffset() {
147: return fByteOffset;
148: }
149:
150: /**
151: * The UTF-16, as defined in [Unicode] and Amendment 1 of [ISO/IEC 10646],
152: * offset into the input source this locator is pointing to or -1 if there
153: * is no UTF-16 offset available.
154: */
155: public int getUtf16Offset() {
156: return fUtf16Offset;
157: }
158:
159: }// class DOMLocatorImpl
|