10 |
import org.geotools.feature.NameImpl; |
import org.geotools.feature.NameImpl; |
11 |
import org.opengis.feature.type.Name; |
import org.opengis.feature.type.Name; |
12 |
|
|
13 |
import skrueger.AbstractAttributeMetadata; |
import skrueger.AttributeMetadataInterface; |
|
import skrueger.AttributeMetadata; |
|
14 |
import skrueger.QualityQuantizable; |
import skrueger.QualityQuantizable; |
15 |
import skrueger.i8n.Translation; |
import skrueger.i8n.Translation; |
16 |
|
|
21 |
* The {@link #get(Name)} and {@link #get(String)} methods will never return |
* The {@link #get(Name)} and {@link #get(String)} methods will never return |
22 |
* <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. |
23 |
*/ |
*/ |
24 |
public abstract class AttributeMetadataMap<AMD_IMPL extends AttributeMetadata> |
public abstract class AttributeMetadataMap<AMD_IMPL extends AttributeMetadataInterface> |
25 |
extends TreeMap<NameImpl, AMD_IMPL> implements |
extends TreeMap<Name, AMD_IMPL> implements |
26 |
Copyable<AttributeMetadataMap>, QualityQuantizable { |
Copyable<AttributeMetadataMap>, QualityQuantizable { |
27 |
|
|
28 |
private static final long serialVersionUID = 4936966916517396063L; |
private static final long serialVersionUID = 4936966916517396063L; |
70 |
* {@link Copyable} interface. |
* {@link Copyable} interface. |
71 |
*/ |
*/ |
72 |
@Override |
@Override |
73 |
public AttributeMetadataMap<? extends AttributeMetadata> copyTo(AttributeMetadataMap amdMap) { |
public AttributeMetadataMap<? extends AttributeMetadataInterface> copyTo(AttributeMetadataMap amdMap) { |
74 |
|
|
75 |
amdMap.clear(); |
amdMap.clear(); |
76 |
|
|
77 |
for (final NameImpl key : keySet()) { |
for (final Name key : keySet()) { |
78 |
final AMD_IMPL AMD_IMPL = get(key); |
final AMD_IMPL AMD_IMPL = get(key); |
79 |
amdMap.put(key, AMD_IMPL.copy()); |
amdMap.put(key, AMD_IMPL.copy()); |
80 |
} |
} |
83 |
|
|
84 |
/** |
/** |
85 |
* Returns the {@link AMD_IMPL} for a given {@link NameImpl}. May return |
* Returns the {@link AMD_IMPL} for a given {@link NameImpl}. May return |
86 |
* <code>null</code> or create a default {@link AttributeMetadata} depending |
* <code>null</code> or create a default {@link AttributeMetadataInterface} depending |
87 |
* on whether this method is overwritten. fly. |
* on whether this method is overwritten. fly. |
88 |
*/ |
*/ |
89 |
public AMD_IMPL get(final NameImpl name) { |
public AMD_IMPL get(final Name name) { |
90 |
return super.get(name); |
return super.get(name); |
91 |
} |
} |
92 |
|
|
93 |
/** |
/** |
94 |
* @Deprecated use get(Name name) or get(String localName) |
* @Deprecated use get(Name name) or get(String localName) |
95 |
*/ |
*/ |
96 |
|
@Deprecated |
97 |
@Override |
@Override |
|
@Deprecated |
|
98 |
public AMD_IMPL get(final Object key) { |
public AMD_IMPL get(final Object key) { |
99 |
LOGGER.error("PLEASE DONT USE get(Object) any MORE!"); |
LOGGER.error("PLEASE DONT USE get(Object) any MORE!"); |
100 |
return super.get(key); |
return super.get(key); |
161 |
} |
} |
162 |
return list; |
return list; |
163 |
} |
} |
164 |
|
|
165 |
|
/** |
166 |
|
* Just for debuggung. Simply returns {@code super.put(.)}. |
167 |
|
* TODO: remove this method. |
168 |
|
*/ |
169 |
|
@Override |
170 |
|
public AMD_IMPL put(Name key, AMD_IMPL value) { |
171 |
|
return super.put(key, value); |
172 |
|
}; |
173 |
|
|
174 |
} |
} |