1 /* 2 * reserved comment block 3 * DO NOT REMOVE OR ALTER! 4 */ 5 /* 6 * Licensed to the Apache Software Foundation (ASF) under one 7 * or more contributor license agreements. See the NOTICE file 8 * distributed with this work for additional information 9 * regarding copyright ownership. The ASF licenses this file 10 * to you under the Apache License, Version 2.0 (the "License"); 11 * you may not use this file except in compliance with the License. 12 * You may obtain a copy of the License at 13 * 14 * http://www.apache.org/licenses/LICENSE-2.0 15 * 16 * Unless required by applicable law or agreed to in writing, software 17 * distributed under the License is distributed on an "AS IS" BASIS, 18 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 19 * See the License for the specific language governing permissions and 20 * limitations under the License. 21 */ 22 23 package com.sun.org.apache.xml.internal.serializer.dom3; 24 25 import org.w3c.dom.DOMLocator; 26 import org.w3c.dom.Node; 27 28 29 /** 30 * <code>DOMLocatorImpl</code> is an implementaion that describes a location (e.g. 31 * where an error occured). 32 * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>. 33 * This class is a copy of the Xerces-2J class org.apache.xerces.dom.DOMLocatorImpl.java v 1.10 34 * 35 * @author Gopal Sharma, SUN Microsystems Inc. 36 * @version $Id: 37 * 38 * @xsl.usage internal 39 */ 40 final class DOMLocatorImpl implements DOMLocator { 41 42 // 43 // Data 44 // 45 46 /** 47 * The column number where the error occured, 48 * or -1 if there is no column number available. 49 */ 50 private final int fColumnNumber; 51 52 /** 53 * The line number where the error occured, 54 * or -1 if there is no line number available. 55 */ 56 private final int fLineNumber; 57 58 /** related data node*/ 59 private final Node fRelatedNode; 60 61 /** 62 * The URI where the error occured, 63 * or null if there is no URI available. 64 */ 65 private final String fUri; 66 67 /** 68 * The byte offset into the input source this locator is pointing to or -1 69 * if there is no byte offset available 70 */ 71 private final int fByteOffset; 72 73 /** 74 * The UTF-16, as defined in [Unicode] and Amendment 1 of [ISO/IEC 10646], 75 * offset into the input source this locator is pointing to or -1 if there 76 * is no UTF-16 offset available. 77 */ 78 private final int fUtf16Offset; 79 80 // 81 // Constructors 82 // 83 DOMLocatorImpl()84 DOMLocatorImpl(){ 85 fColumnNumber = -1; 86 fLineNumber = -1; 87 fRelatedNode = null; 88 fUri = null; 89 fByteOffset = -1; 90 fUtf16Offset = -1; 91 } 92 DOMLocatorImpl(int lineNumber, int columnNumber, String uri )93 DOMLocatorImpl (int lineNumber, int columnNumber, String uri ){ 94 fLineNumber = lineNumber ; 95 fColumnNumber = columnNumber ; 96 fUri = uri; 97 98 fRelatedNode = null; 99 fByteOffset = -1; 100 fUtf16Offset = -1; 101 } // DOMLocatorImpl (int lineNumber, int columnNumber, String uri ) 102 DOMLocatorImpl(int lineNumber, int columnNumber, int utf16Offset, String uri )103 DOMLocatorImpl (int lineNumber, int columnNumber, int utf16Offset, String uri ){ 104 fLineNumber = lineNumber ; 105 fColumnNumber = columnNumber ; 106 fUri = uri; 107 fUtf16Offset = utf16Offset; 108 109 110 fRelatedNode = null; 111 fByteOffset = -1; 112 } // DOMLocatorImpl (int lineNumber, int columnNumber, int utf16Offset, String uri ) 113 DOMLocatorImpl(int lineNumber, int columnNumber, int byteoffset, Node relatedData, String uri )114 DOMLocatorImpl (int lineNumber, int columnNumber, int byteoffset, Node relatedData, String uri ){ 115 fLineNumber = lineNumber ; 116 fColumnNumber = columnNumber ; 117 fByteOffset = byteoffset ; 118 fRelatedNode = relatedData ; 119 fUri = uri; 120 121 fUtf16Offset = -1; 122 } // DOMLocatorImpl (int lineNumber, int columnNumber, int offset, Node errorNode, String uri ) 123 DOMLocatorImpl(int lineNumber, int columnNumber, int byteoffset, Node relatedData, String uri, int utf16Offset )124 DOMLocatorImpl (int lineNumber, int columnNumber, int byteoffset, Node relatedData, String uri, int utf16Offset ){ 125 fLineNumber = lineNumber ; 126 fColumnNumber = columnNumber ; 127 fByteOffset = byteoffset ; 128 fRelatedNode = relatedData ; 129 fUri = uri; 130 fUtf16Offset = utf16Offset; 131 } // DOMLocatorImpl (int lineNumber, int columnNumber, int offset, Node errorNode, String uri ) 132 133 134 /** 135 * The line number where the error occured, or -1 if there is no line 136 * number available. 137 */ getLineNumber()138 public int getLineNumber(){ 139 return fLineNumber; 140 } 141 142 /** 143 * The column number where the error occured, or -1 if there is no column 144 * number available. 145 */ getColumnNumber()146 public int getColumnNumber(){ 147 return fColumnNumber; 148 } 149 150 151 /** 152 * The URI where the error occured, or null if there is no URI available. 153 */ getUri()154 public String getUri(){ 155 return fUri; 156 } 157 158 getRelatedNode()159 public Node getRelatedNode(){ 160 return fRelatedNode; 161 } 162 163 164 /** 165 * The byte offset into the input source this locator is pointing to or -1 166 * if there is no byte offset available 167 */ getByteOffset()168 public int getByteOffset(){ 169 return fByteOffset; 170 } 171 172 /** 173 * The UTF-16, as defined in [Unicode] and Amendment 1 of [ISO/IEC 10646], 174 * offset into the input source this locator is pointing to or -1 if there 175 * is no UTF-16 offset available. 176 */ getUtf16Offset()177 public int getUtf16Offset(){ 178 return fUtf16Offset; 179 } 180 181 }// class DOMLocatorImpl 182