Statistics
| Revision:

svn-gvsig-desktop / trunk / extensions / extPublish / src / org / gvsig / publish / infoproject / ILayerInfo.java @ 32205

History | View | Annotate | Download (3.71 KB)

1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2004-2006 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 *
19
 * For more information, contact:
20
 *
21
 *   Generalitat Valenciana
22
 *   Conselleria d'Infraestructures i Transport
23
 *   Av. Blasco Iba?ez, 50
24
 *   46010 VALENCIA
25
 *   SPAIN
26
 *
27
 *   +34 963862235
28
 *   gvsig@gva.es
29
 *   www.gvsig.gva.es
30
 *
31
 *    or
32
 *
33
 *   IVER T.I. S.A
34
 *   Salamanca 50
35
 *   46005 Valencia
36
 *   Spain
37
 *
38
 *   +34 963163400
39
 *   dac@iver.es
40
 */
41

    
42
package org.gvsig.publish.infoproject;
43

    
44
import java.awt.geom.Rectangle2D;
45

    
46
import org.gvsig.publish.IPublishPersistence;
47

    
48
/**
49
 * This class represents the information about a layer you are seeing.
50
 * This class might be reprojected.
51
 * 
52
 * @author Jos? Vicente Hig?n (josevicente.higon@iver.es)
53
 *
54
 */
55
public interface ILayerInfo extends IPublishPersistence  {        
56
        /**
57
         * 
58
         * @return layer's title. It must be unique.
59
         */
60
        abstract String getName();
61
        /**
62
         * 
63
         * @return layer's title.
64
         */
65
        abstract String getTitle();
66
        /**
67
         * Gets the system reference identifier of the layer.
68
         * @return integer which identifies the layer's CRS. 
69
         * If the layer is a group of layers, it will return -1 
70
         */
71
        abstract int getSRID();
72
        /**
73
         * @deprecated use getSRID instead
74
         * @return string with the epsg code "EPSG:xxxx"
75
         */
76
        abstract String getEPSGString();
77
        /**
78
         * 
79
         * @return minimum scale (layer coordinates) you can see the layer  
80
         */
81
        abstract double getMinscale();
82
        /**
83
         * 
84
         * @return maximum scale (layer coordinates) you can see the layer
85
         */
86
        abstract double getMaxscale();
87
        /**
88
         * 
89
         * @return geographic bounding box in layer's coordinates
90
         */
91
        abstract Rectangle2D getBBox();        
92
        /**
93
         * 
94
         * @return legend information
95
         */
96
        abstract ILegendInfo getLegend();
97
        /**
98
         * 
99
         * @return datasource information 
100
         */
101
        abstract IDataSourceInfo getDataSource();
102
        /**
103
         * 
104
         * @return information about child layers
105
         */
106
        abstract ILayerInfo[] getChilds();
107
        /**
108
         * Set childs and update the parent of each one.
109
         * @param childs array of layerinfo
110
         */
111
        abstract void setChilds(ILayerInfo[] childs);
112
        /**
113
         * 
114
         * @return parent layer information. Null if there is not parent (no hierarchy)
115
         */
116
        abstract ILayerInfo getParent();
117
        /**
118
         * 
119
         * @param parent information about the parent
120
         */
121
        abstract void setParent(ILayerInfo parent);
122
        /**
123
         * 
124
         * @return information about the layer's view
125
         */
126
        abstract IViewInfo getViewInfo();
127
        /**
128
         * 
129
         * @return information about the layer labeling. It can be null if isLabeled() is false.
130
         */
131
        abstract ILabelingInfo getLabeling();
132
        /**
133
         * @return true if the layer is labeled
134
         */
135
        abstract boolean isLabeled();
136
        /**
137
         * 
138
         * @return the opacity percentage, 0 is transparent, 100 is opaque
139
         */
140
        abstract int getOpacityPercent();
141

    
142
        /**
143
         * 
144
         * @return information about the layer
145
         */
146
        abstract ILayerInfo findLayer(String layerName);
147
        /**
148
         * 
149
         * @return a string which identifies the hierarchy of layers. 
150
         * If the layer is on the top the hierarchy, the string "/" is returned 
151
         */
152
        abstract String getPathString();
153
}