01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17: package org.apache.cocoon.util.location;
18:
19: /**
20: * A location in a resource. The location is composed of the URI of the resource, and
21: * the line and column numbers within that resource (when available), along with a description.
22: * <p>
23: * Locations are mostly provided by {@link Locatable}s objects.
24: *
25: * @since 2.1.8
26: * @version $Id: Location.java 446917 2006-09-16 19:10:40Z vgritsenko $
27: */
28: public interface Location {
29:
30: /**
31: * Constant for unknown locations.
32: */
33: public static final Location UNKNOWN = LocationImpl.UNKNOWN;
34:
35: /**
36: * Get the description of this location
37: *
38: * @return the description (can be <code>null</code>)
39: */
40: public String getDescription();
41:
42: /**
43: * Get the URI of this location
44: *
45: * @return the URI (<code>null</code> if unknown).
46: */
47: public String getURI();
48:
49: /**
50: * Get the line number of this location
51: *
52: * @return the line number (<code>-1</code> if unknown)
53: */
54: public int getLineNumber();
55:
56: /**
57: * Get the column number of this location
58: *
59: * @return the column number (<code>-1</code> if unknown)
60: */
61: public int getColumnNumber();
62:
63: }
|