19f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson/* 29f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * Licensed to the Apache Software Foundation (ASF) under one 39f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * or more contributor license agreements. See the NOTICE file 49f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * distributed with this work for additional information 59f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * regarding copyright ownership. The ASF licenses this file 69f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * to you under the Apache License, Version 2.0 (the "License"); 79f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * you may not use this file except in compliance with the License. 89f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * You may obtain a copy of the License at 99f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * 109f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * http://www.apache.org/licenses/LICENSE-2.0 119f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * 129f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * Unless required by applicable law or agreed to in writing, software 139f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * distributed under the License is distributed on an "AS IS" BASIS, 149f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 159f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * See the License for the specific language governing permissions and 169f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * limitations under the License. 179f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson */ 189f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson/* 199f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * $Id: NodeLocator.java 468653 2006-10-28 07:07:05Z minchau $ 209f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson */ 219f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 229f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonpackage org.apache.xml.dtm.ref; 239f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 249f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport javax.xml.transform.SourceLocator; 259f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 269f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson/** 279f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * <code>NodeLocator</code> maintains information on an XML source 289f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * node. 299f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * 309f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * @author <a href="mailto:ovidiu@cup.hp.com">Ovidiu Predescu</a> 319f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * @since May 23, 2001 329f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson */ 339f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonpublic class NodeLocator implements SourceLocator 349f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson{ 359f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson protected String m_publicId; 369f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson protected String m_systemId; 379f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson protected int m_lineNumber; 389f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson protected int m_columnNumber; 399f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 409f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson /** 419f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * Creates a new <code>NodeLocator</code> instance. 429f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * 439f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * @param publicId a <code>String</code> value 449f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * @param systemId a <code>String</code> value 459f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * @param lineNumber an <code>int</code> value 469f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * @param columnNumber an <code>int</code> value 479f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson */ 489f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson public NodeLocator(String publicId, String systemId, 499f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson int lineNumber, int columnNumber) 509f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson { 519f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson this.m_publicId = publicId; 529f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson this.m_systemId = systemId; 539f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson this.m_lineNumber = lineNumber; 549f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson this.m_columnNumber = columnNumber; 559f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson } 569f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 579f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson /** 589f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * <code>getPublicId</code> returns the public ID of the node. 599f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * 609f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * @return a <code>String</code> value 619f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson */ 629f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson public String getPublicId() 639f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson { 649f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson return m_publicId; 659f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson } 669f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 679f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson /** 689f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * <code>getSystemId</code> returns the system ID of the node. 699f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * 709f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * @return a <code>String</code> value 719f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson */ 729f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson public String getSystemId() 739f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson { 749f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson return m_systemId; 759f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson } 769f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 779f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson /** 789f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * <code>getLineNumber</code> returns the line number of the node. 799f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * 809f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * @return an <code>int</code> value 819f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson */ 829f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson public int getLineNumber() 839f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson { 849f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson return m_lineNumber; 859f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson } 869f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 879f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson /** 889f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * <code>getColumnNumber</code> returns the column number of the 899f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * node. 909f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * 919f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * @return an <code>int</code> value 929f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson */ 939f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson public int getColumnNumber() 949f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson { 959f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson return m_columnNumber; 969f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson } 979f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 989f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson /** 999f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * <code>toString</code> returns a string representation of this 1009f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * NodeLocator instance. 1019f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * 1029f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * @return a <code>String</code> value 1039f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson */ 1049f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson public String toString() 1059f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson { 1069f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson return "file '" + m_systemId 1079f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson + "', line #" + m_lineNumber 1089f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson + ", column #" + m_columnNumber; 1099f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson } 1109f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson} 111