aboutsummaryrefslogtreecommitdiff
path: root/src/share/classes/com/sun/org/apache/xerces/internal/util/SAXLocatorWrapper.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/share/classes/com/sun/org/apache/xerces/internal/util/SAXLocatorWrapper.java')
-rw-r--r--src/share/classes/com/sun/org/apache/xerces/internal/util/SAXLocatorWrapper.java111
1 files changed, 111 insertions, 0 deletions
diff --git a/src/share/classes/com/sun/org/apache/xerces/internal/util/SAXLocatorWrapper.java b/src/share/classes/com/sun/org/apache/xerces/internal/util/SAXLocatorWrapper.java
new file mode 100644
index 0000000..5733845
--- /dev/null
+++ b/src/share/classes/com/sun/org/apache/xerces/internal/util/SAXLocatorWrapper.java
@@ -0,0 +1,111 @@
+/*
+ * reserved comment block
+ * DO NOT REMOVE OR ALTER!
+ */
+/*
+ * Copyright 2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.sun.org.apache.xerces.internal.util;
+
+import org.xml.sax.Locator;
+import org.xml.sax.ext.Locator2;
+
+import com.sun.org.apache.xerces.internal.xni.XMLLocator;
+
+/**
+ * <p>A light wrapper around a SAX locator. This is useful
+ * when bridging between SAX and XNI components.</p>
+ *
+ * @author Michael Glavassevich, IBM
+ *
+ */
+public final class SAXLocatorWrapper implements XMLLocator {
+
+ private Locator fLocator = null;
+ private Locator2 fLocator2 = null;
+
+ public SAXLocatorWrapper() {}
+
+ public void setLocator(Locator locator) {
+ fLocator = locator;
+ if (locator instanceof Locator2 || locator == null) {
+ fLocator2 = (Locator2) locator;
+ }
+ }
+
+ public Locator getLocator() {
+ return fLocator;
+ }
+
+ /*
+ * XMLLocator methods
+ */
+
+ public String getPublicId() {
+ if (fLocator != null) {
+ return fLocator.getPublicId();
+ }
+ return null;
+ }
+
+ public String getLiteralSystemId() {
+ if (fLocator != null) {
+ return fLocator.getSystemId();
+ }
+ return null;
+ }
+
+ public String getBaseSystemId() {
+ return null;
+ }
+
+ public String getExpandedSystemId() {
+ return getLiteralSystemId();
+ }
+
+ public int getLineNumber() {
+ if (fLocator != null) {
+ return fLocator.getLineNumber();
+ }
+ return -1;
+ }
+
+ public int getColumnNumber() {
+ if (fLocator != null) {
+ return fLocator.getColumnNumber();
+ }
+ return -1;
+ }
+
+ public int getCharacterOffset() {
+ return -1;
+ }
+
+ public String getEncoding() {
+ if (fLocator2 != null) {
+ return fLocator2.getEncoding();
+ }
+ return null;
+ }
+
+ public String getXMLVersion() {
+ if (fLocator2 != null) {
+ return fLocator2.getXMLVersion();
+ }
+ return null;
+ }
+
+} // SAXLocatorWrapper