public static <T> T create(T object, Class<T> clazz) { return ProxyUtils.createProxy(object, clazz, new NameDequalifyingProxy(object)); }
/** * Returns a decorating iterator over the one returned by the delegate that wraps every object * it returns, if possible. * * @see #wrap(Object, Class) * @see org.geoserver.catalog.Catalog#list(java.lang.Class, org.geoserver.catalog.Predicate, * java.lang.Integer, java.lang.Integer, org.geoserver.catalog.OrderBy) */ @Override public <T extends CatalogInfo> CloseableIterator<T> list( final Class<T> of, final Filter filter, final Integer offset, final Integer count, final SortBy sortBy) { CloseableIterator<T> iterator = delegate.list(of, filter, offset, count, sortBy); if (iterator.hasNext() && useNameDequalifyingProxy()) { return CloseableIteratorAdapter.transform( iterator, obj -> obj == null ? null : NameDequalifyingProxy.create(obj, of)); } return iterator; }
List<LayerGroupInfo> wrap(List<LayerGroupInfo> layerGroups) { if (useNameDequalifyingProxy()) { return NameDequalifyingProxy.createList(layerGroups, LayerGroupInfo.class); } return layerGroups; }
LayerInfo unwrap(LayerInfo layer) { return NameDequalifyingProxy.unwrap(layer); }
@Override protected <T> T createProxy(T proxyObject, Class<T> proxyInterface) { return create(proxyObject, proxyInterface); }
<T> T unwrap(T obj) { return NameDequalifyingProxy.unwrap(obj); }
<T> T wrap(T obj, Class<T> clazz) { if (obj == null) { return null; } if (useNameDequalifyingProxy()) { return NameDequalifyingProxy.create(obj, clazz); } return obj; }
@Override public List<LayerInfo> getLayers() { if (useNameDequalifyingProxy()) { return NameDequalifyingProxy.createList(super.getLayers(), LayerInfo.class); } return super.getLayers(); }
@Override protected <T> T unwrapProxy(T proxy, Class<T> proxyInterface) { return unwrap(proxy); } };