View Javadoc

1   package net.sf.quarrel.file;
2   
3   import java.util.Collection;
4   import java.util.Map;
5   
6   /***
7    * The default implementation of the FileElement interface.
8    */
9   public final class ElementImpl implements FileElement {
10  
11      /***
12       * A mapping of 
13       */
14      private final Map _features;
15      private final String _name;
16      private final ElementType _type;
17  
18      public ElementImpl(final String name,
19                         final ElementType type,
20                         final Map features) {
21          _features = features;
22          _name = name;
23          _type = type;
24      }
25  
26      public String getName() {
27          return _name;
28      }
29  
30      public ElementType getElementType() {
31          return _type;
32      }
33  
34      public Collection getFeatures(FeatureType featureType) {
35  
36          if (!_type.getFeatures().contains(featureType)) {
37              throw new IllegalArgumentException("FileElement type [" +
38                      _type.getName() +
39                      "] does not support feature [" +
40                      featureType.getName() +
41                      "]");
42          }
43  
44          return (Collection) _features.get(featureType);
45  
46      }
47  
48  }