001 /* 002 // $Id: //open/util/resgen/src/org/eigenbase/xom/Location.java#1 $ 003 // Package org.eigenbase.xom is an XML Object Mapper. 004 // Copyright (C) 2008-2008 The Eigenbase Project 005 // Copyright (C) 2008-2008 Disruptive Tech 006 // Copyright (C) 2008-2008 LucidEra, Inc. 007 // 008 // This library is free software; you can redistribute it and/or modify it 009 // under the terms of the GNU Lesser General Public License as published by the 010 // Free Software Foundation; either version 2 of the License, or (at your 011 // option) any later version approved by The Eigenbase Project. 012 // 013 // This library is distributed in the hope that it will be useful, 014 // but WITHOUT ANY WARRANTY; without even the implied warranty of 015 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 016 // GNU Lesser General Public License for more details. 017 // 018 // You should have received a copy of the GNU Lesser General Public License 019 // along with this library; if not, write to the Free Software 020 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 021 */ 022 package org.eigenbase.xom; 023 024 /** 025 * Represents the location of a node within its document. 026 * 027 * <p>Location is a span from a starting line and column to an ending line 028 * and column; or alternatively, from a starting character position to an 029 * ending character position. 030 * 031 * @author jhyde 032 * @version $Id: //open/util/resgen/src/org/eigenbase/xom/Location.java#1 $ 033 * @since Jun 6, 2008 034 */ 035 public interface Location { 036 /** 037 * Returns the line where this node starts. 038 * The first line in the document is 1. 039 * 040 * @return Line of the start of this node 041 */ 042 int getStartLine(); 043 044 /** 045 * Returns the column where this node starts. 046 * The first column in the document is 1. 047 * 048 * @return column of the start of this node 049 */ 050 int getStartColumn(); 051 052 /** 053 * Returns the character position where this node starts. 054 * The first character in the document is 0. 055 * 056 * @return Character position of the start of this node 057 */ 058 int getStartPos(); 059 060 /** 061 * Returns the line where this node ends. 062 * The first line in the document is 1. 063 * 064 * @return Line of the end of this node 065 */ 066 int getEndLine(); 067 068 /** 069 * Returns the column where this node ends. 070 * The first column in the document is 1. 071 * 072 * @return column of the end of this node 073 */ 074 int getEndColumn(); 075 076 /** 077 * Returns the character position where this node ends. 078 * The first character in the document is 0. 079 * 080 * @return Character position of the end of this node 081 */ 082 int getEndPos(); 083 } 084 085 // End Location.java