@SuppressWarnings("unchecked") @Override public final <V> Value<V> getAnnotation(Annotation<V> annotation) { if(annotations == null){ return null; } Object value = annotations.get(annotation.getKey()); if(value instanceof Value<?>){ return (Value<V>)value; } else if(value != null){ return ((Value<V>[])value)[0]; } else { return null; } }
@SuppressWarnings("unchecked") @Override public final <V> Value<V> getAnnotation(Annotation<V> annotation) { if(annotations == null){ return null; } Object value = annotations.get(annotation.getKey()); if(value instanceof Value<?>){ return (Value<V>)value; } else if(value != null){ return ((Value<V>[])value)[0]; } else { return null; } }
@Override public <V> void addAnnotations(Annotation<V> annotation, List<Value<V>> values) { addValuesInternal(annotation.getKey(), values); } @Override
@Override public <V> void setAnnotation(Annotation<V> annotation, Value<V> value) { setValue(annotation.getKey(), value); } @Override
@Override public <V> void addAnnotations(Annotation<V> annotation, List<Value<V>> values) { addValuesInternal(annotation.getKey(), values); } @Override
@Override public <V> void addAnnotation(Annotation<V> annotation, Value<V> value) { addValue(annotation.getKey(), value); } @Override
@Override public <V> void setAnnotations(Annotation<V> annotation, List<Value<V>> values) { setValuesInternal(annotation.getKey(),values); } @Override
@Override public <V> void addAnnotation(Annotation<V> annotation, Value<V> value) { addValue(annotation.getKey(), value); } @Override
@SuppressWarnings("unchecked") @Override public final <V> List<Value<V>> getAnnotations(Annotation<V> annotation) { if(annotations == null){ return Collections.emptyList(); } Object value = annotations.get(annotation.getKey()); if(value instanceof Value<?>){ List<?> singleton = Collections.singletonList((Value<?>)value); return (List<Value<V>>)singleton; } else if(value != null){ return Arrays.asList((Value<V>[])value); } else { return Collections.emptyList(); } }
@SuppressWarnings("unchecked") @Override public final <V> List<Value<V>> getAnnotations(Annotation<V> annotation) { if(annotations == null){ return Collections.emptyList(); } Object value = annotations.get(annotation.getKey()); if(value instanceof Value<?>){ List<?> singleton = Collections.singletonList((Value<?>)value); return (List<Value<V>>)singleton; } else if(value != null){ return Arrays.asList((Value<V>[])value); } else { return Collections.emptyList(); } }
@Override public <V> void setAnnotations(Annotation<V> annotation, List<Value<V>> values) { setValuesInternal(annotation.getKey(),values); } @Override
@Override public <V> void setAnnotation(Annotation<V> annotation, Value<V> value) { setValue(annotation.getKey(), value); } @Override