/[schmitzm]/trunk/src/skrueger/geotools/AttributeMetadataMap.java
ViewVC logotype

Diff of /trunk/src/skrueger/geotools/AttributeMetadataMap.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 769 by alfonx, Sun Mar 21 11:02:34 2010 UTC revision 1048 by alfonx, Wed Sep 22 12:15:12 2010 UTC
# Line 2  package skrueger.geotools; Line 2  package skrueger.geotools;
2    
3  import java.util.ArrayList;  import java.util.ArrayList;
4  import java.util.Collections;  import java.util.Collections;
5    import java.util.LinkedHashSet;
6  import java.util.List;  import java.util.List;
7  import java.util.Map;  import java.util.Map;
8  import java.util.TreeMap;  import java.util.TreeMap;
9    import java.util.TreeSet;
10    
11  import org.apache.log4j.Logger;  import org.apache.log4j.Logger;
12  import org.geotools.feature.NameImpl;  import org.geotools.feature.NameImpl;
13  import org.opengis.feature.type.Name;  import org.opengis.feature.type.Name;
14    
15  import skrueger.AbstractAttributeMetadata;  import skrueger.AttributeMetadataInterface;
 import skrueger.AttributeMetadata;  
16  import skrueger.QualityQuantizable;  import skrueger.QualityQuantizable;
17  import skrueger.i8n.Translation;  import skrueger.i8n.Translation;
18    
# Line 22  import skrueger.i8n.Translation; Line 23  import skrueger.i8n.Translation;
23   * The {@link #get(Name)} and {@link #get(String)} methods will never return   * The {@link #get(Name)} and {@link #get(String)} methods will never return
24   * <code>null</code>, but rather create a default {@link AMD_IMPL} on-the-fly.   * <code>null</code>, but rather create a default {@link AMD_IMPL} on-the-fly.
25   */   */
26  public abstract class AttributeMetadataMap<AMD_IMPL extends AttributeMetadata>  public abstract class AttributeMetadataMap<AMD_IMPL extends AttributeMetadataInterface>
27                  extends TreeMap<Name, AMD_IMPL> implements                  extends TreeMap<Name, AMD_IMPL> implements
28                  Copyable<AttributeMetadataMap>, QualityQuantizable {                  Copyable<AttributeMetadataMap>, QualityQuantizable {
29    
# Line 71  public abstract class AttributeMetadataM Line 72  public abstract class AttributeMetadataM
72           * {@link Copyable} interface.           * {@link Copyable} interface.
73           */           */
74          @Override          @Override
75          public AttributeMetadataMap<? extends AttributeMetadata> copyTo(AttributeMetadataMap amdMap) {          public AttributeMetadataMap<? extends AttributeMetadataInterface> copyTo(AttributeMetadataMap amdMap) {
76    
77                  amdMap.clear();                  amdMap.clear();
78    
# Line 83  public abstract class AttributeMetadataM Line 84  public abstract class AttributeMetadataM
84          }          }
85    
86          /**          /**
87           * Returns the {@link AMD_IMPL} for a given {@link Name}. May return           * Returns the {@link AMD_IMPL} for a given {@link NameImpl}. May return
88           * <code>null</code> or create a default {@link AttributeMetadata} depending           * <code>null</code> or create a default {@link AttributeMetadataInterface} depending
89           * on whether this method is overwritten. fly.           * on whether this method is overwritten. fly.
90           */           */
91          public AMD_IMPL get(final Name name) {          public AMD_IMPL get(final Name name) {
# Line 94  public abstract class AttributeMetadataM Line 95  public abstract class AttributeMetadataM
95          /**          /**
96           * @Deprecated use get(Name name) or get(String localName)           * @Deprecated use get(Name name) or get(String localName)
97           */           */
98            @Deprecated
99          @Override          @Override
         @Deprecated  
100          public AMD_IMPL get(final Object key) {          public AMD_IMPL get(final Object key) {
101                  LOGGER.error("PLEASE DONT USE get(Object) any MORE!");                  LOGGER.error("PLEASE DONT USE get(Object) any MORE!");
102                  return super.get(key);                  return super.get(key);
# Line 143  public abstract class AttributeMetadataM Line 144  public abstract class AttributeMetadataM
144           * @return List of {@link AMD_IMPL} objects ordered by their weight.           * @return List of {@link AMD_IMPL} objects ordered by their weight.
145           *         (heavier => further down)           *         (heavier => further down)
146           */           */
147          public List<AMD_IMPL> sortedValues() {          public TreeSet<AMD_IMPL> sortedValues() {
148                  final ArrayList<AMD_IMPL> list = new ArrayList<AMD_IMPL>();                  final TreeSet<AMD_IMPL> list = new TreeSet<AMD_IMPL>();
149                  list.addAll(values());                  list.addAll(values());
150                  Collections.sort(list);  //              Collections.sort(list);
151                  return list;                  return list;
152          }          }
153    
# Line 162  public abstract class AttributeMetadataM Line 163  public abstract class AttributeMetadataM
163                  }                  }
164                  return list;                  return list;
165          }          }
166            
167            /**
168             * Just for debuggung. Simply returns {@code super.put(.)}.
169             * TODO: remove this method.
170             */
171            @Override
172            public AMD_IMPL put(Name key, AMD_IMPL value) {
173              return super.put(key, value);
174            };
175    
176  }  }

Legend:
Removed from v.769  
changed lines
  Added in v.1048

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26