/[schmitzm]/trunk/src/skrueger/AttributeMetadataInterface.java
ViewVC logotype

Contents of /trunk/src/skrueger/AttributeMetadataInterface.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 772 - (show annotations)
Sun Mar 21 14:05:26 2010 UTC (14 years, 11 months ago) by alfonx
File size: 3328 byte(s)
The new Interface AttributeMetadata has been renamed to AttributeMetadataInterface. 

1 package skrueger;
2
3 import java.io.Serializable;
4 import java.util.HashSet;
5 import java.util.Set;
6
7 import org.geotools.feature.NameImpl;
8 import org.opengis.feature.type.Name;
9
10 import skrueger.geotools.Copyable;
11 import skrueger.i8n.Translation;
12
13 public interface AttributeMetadataInterface extends Copyable<AttributeMetadataInterface>,
14 Comparable<AttributeMetadataInterface> {
15
16 /**
17 * @return a translatable title for this attribute..
18 */
19 public Translation getTitle();
20
21 /**
22 * Set a translatable title for this attribute..
23 */
24 public void setTitle(Translation title);
25
26 /**
27 * Set an untranslated title for this attribute or pass a {@link Translation} encryped as a {@link String}
28 */
29 public void setTitle(String title);
30
31 /**
32 * @return a translatable description for this attribute
33 */
34 public Translation getDesc();
35
36 /**
37 * Set a translatable description for this attribute.
38 */
39 public void setDesc(Translation desc);
40
41 /**
42 * Set an untranslated description for this attribute or pass a {@link Translation} encryped as a {@link String}
43 */
44 public void setDesc(String desc);
45
46
47 /**
48 * The local name. E.g. the name of the DBF column as a {@link String}.
49 */
50 public String getLocalName();
51
52 /**
53 * A short form for #setName(new NameImpl(localName))
54 */
55 public void setLocalName(String localName);
56
57 /**
58 * The fully qualified {@link Name} of the attribute, e.g.
59 * <code>org.bla.plo:blub</code>. The second part equals the
60 * {@link #getLocalName()} value. The first may be <code>null</code> or
61 * represent the layer name.
62 */
63 public NameImpl getName();
64
65 /**
66 * set the fully qualified {@link Name} of this attribute.
67 */
68 public void setName(NameImpl name);
69
70 /**
71 * A list og objects that represent NODATA-values for this attribute. The
72 * objects are supporsed to be correctly casted already. That means that the
73 * NODATA objects listed here have must have the same type as the values of
74 * this object.
75 */
76 public HashSet<Object> getNodataValues();
77
78 /**
79 * Takes any value object and checks it against the NODATA values. If the
80 * value equals a NODATA value, <code>null</code> is returned. Otherwise the
81 * same object is returned.
82 *
83 * Note: This method is called often.
84 */
85 public Object fiterNodata(Object value);
86
87 /**
88 * @return a non-translatable unit {@link String} for this attribute values.
89 */
90 public String getUnit();
91
92 /**
93 * Set a unit {@link String} for this attribute values.
94 */
95 public void setUnit(String unit);
96
97 /**
98 * @return A value defining the position of this attribute whenever the
99 * attributes are listed to an end-user. The higher the weight, the
100 * lower the position. (heavy goes down, light goes up)
101 */
102 public double getWeight();
103
104 /**
105 * set a value defining the position of this attribute whenever the
106 * attributes are listed to an end-user. The higher the weight, the lower
107 * the position. (heavy goes down, light goes up)
108 */
109 public void setWeight(double weight);
110
111 /**
112 * @return <code>false</code> if this attribute should not be selectable or
113 * shown to the end-user.
114 */
115 public boolean isVisible();
116
117 /**
118 * Set <code>false</code> if this attribute should not be shown to the
119 * end-user.
120 */
121 public void setVisible(boolean visible);
122
123 String getNoDataValuesFormatted();
124
125 }

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26