@Override @SuppressWarnings("unchecked") public <T extends Component> ComponentMetadata<T> getMetadata(T object) { return (ComponentMetadata<T>) super.getMetadata(object); }
@Override public ComponentMetadata<? extends Component> getMetadata(SimpleUri uri) { return (ComponentMetadata<? extends Component>) super.getMetadata(uri); }
@Override @SuppressWarnings("unchecked") public <T extends Event> EventMetadata<T> getMetadata(Class<T> clazz) { return (EventMetadata<T>) super.getMetadata(clazz); }
@Override @SuppressWarnings("unchecked") public <T extends Event> EventMetadata<T> getMetadata(T object) { return (EventMetadata<T>) super.getMetadata(object); }
@Override @SuppressWarnings("unchecked") public EventMetadata<? extends Event> getMetadata(SimpleUri uri) { return (EventMetadata<? extends Event>) super.getMetadata(uri); }
@Override @SuppressWarnings("unchecked") public <T extends Component> ComponentMetadata<T> getMetadata(Class<T> clazz) { return (ComponentMetadata<T>) super.getMetadata(clazz); }
@Override @SuppressWarnings("unchecked") public <U extends T> ClassMetadata<U, ?> getMetadata(U object) { if (object != null) { return getMetadata((Class<U>) (object.getClass())); } return null; }
@Override public <TYPE extends T> TYPE copy(TYPE object) { ClassMetadata<TYPE, ?> info = getMetadata(object); if (info != null) { return info.copy(object); } return null; }
@Override public ClassMetadata<? extends T, ?> resolve(String name) { SimpleUri uri = new SimpleUri(name); if (uri.isValid()) { return getMetadata(uri); } List<ClassMetadata<? extends T, ?>> possibilities = getMetadata(name); if (possibilities.size() == 1) { return possibilities.get(0); } return null; }
@Override public List<ClassMetadata<? extends T, ?>> getMetadata(String name) { return getMetadata(new Name(name)); }
SimpleUri uri = new SimpleUri(name); if (uri.isValid()) { return getMetadata(uri); List<ClassMetadata<? extends T, ?>> possibilities = getMetadata(name); switch (possibilities.size()) { case 0: