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

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

Parent Directory Parent Directory | Revision Log Revision Log


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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26