Merge branch 'documentation/JAL-3407_2.11.1_release' into releases/Release_2_11_1_Branch
[jalview.git] / src / jalview / datamodel / features / FeatureSourceI.java
1 package jalview.datamodel.features;
2
3 public interface FeatureSourceI
4 {
5   /**
6    * Answers a name for the feature source (not necessarily unique)
7    * 
8    * @return
9    */
10   String getName();
11
12   /**
13    * Answers the 'long name' of an attribute given its id (short name or
14    * abbreviation), or null if not known
15    * 
16    * @param attributeId
17    * @return
18    */
19   String getAttributeName(String attributeId);
20
21   /**
22    * Sets the 'long name' of an attribute given its id (short name or
23    * abbreviation).
24    * 
25    * @param id
26    * @param name
27    */
28   void setAttributeName(String id, String name);
29
30   /**
31    * Answers the datatype of the attribute with given id, or null if not known
32    * 
33    * @param attributeId
34    * @return
35    */
36   FeatureAttributeType getAttributeType(String attributeId);
37
38   /**
39    * Sets the datatype of the attribute with given id
40    * 
41    * @param id
42    * @param type
43    */
44   void setAttributeType(String id, FeatureAttributeType type);
45 }