/* (c) 2014 - 2016 Open Source Geospatial Foundation - all rights reserved * (c) 2001 - 2013 OpenPlans * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.security.decorators; import java.util.List; import org.geoserver.catalog.AttributionInfo; import org.geoserver.catalog.AuthorityURLInfo; import org.geoserver.catalog.CatalogVisitor; import org.geoserver.catalog.LayerGroupHelper; import org.geoserver.catalog.LayerGroupInfo; import org.geoserver.catalog.LayerIdentifierInfo; import org.geoserver.catalog.LayerInfo; import org.geoserver.catalog.MetadataLinkInfo; import org.geoserver.catalog.MetadataMap; import org.geoserver.catalog.PublishedInfo; import org.geoserver.catalog.PublishedType; import org.geoserver.catalog.StyleInfo; import org.geoserver.catalog.WorkspaceInfo; import org.geoserver.catalog.impl.AbstractDecorator; import org.geotools.geometry.jts.ReferencedEnvelope; /** * Delegates every method to the wrapped {@link LayerGroupInfo}. Subclasses will * override selected methods to perform their "decoration" job * * @author Andrea Aime */ public class DecoratingLayerGroupInfo extends AbstractDecorator<LayerGroupInfo> implements LayerGroupInfo { public DecoratingLayerGroupInfo(LayerGroupInfo delegate) { super(delegate); } @Override public ReferencedEnvelope getBounds() { return delegate.getBounds(); } @Override public String getId() { return delegate.getId(); } @Override public LayerInfo getRootLayer() { return delegate.getRootLayer(); } @Override public StyleInfo getRootLayerStyle() { return delegate.getRootLayerStyle(); } @Override public List<PublishedInfo> getLayers() { return delegate.getLayers(); } @Override public List<LayerInfo> layers() { LayerGroupHelper helper = new LayerGroupHelper(this); return helper.allLayersForRendering(); } @Override public List<StyleInfo> styles() { LayerGroupHelper helper = new LayerGroupHelper(this); return helper.allStylesForRendering(); } @Override public String getName() { return delegate.getName(); } @Override public Mode getMode() { return delegate.getMode(); } @Override public boolean isQueryDisabled() { return delegate.isQueryDisabled(); } @Override public void setQueryDisabled(boolean queryDisabled) { delegate.setQueryDisabled(queryDisabled); } @Override public WorkspaceInfo getWorkspace() { return delegate.getWorkspace(); } @Override public String prefixedName() { return delegate.prefixedName(); } @Override public List<StyleInfo> getStyles() { return delegate.getStyles(); } @Override public void setRootLayer(LayerInfo rootLayer) { delegate.setRootLayer(rootLayer); } @Override public void setRootLayerStyle(StyleInfo style) { delegate.setRootLayerStyle(style); } @Override public void setBounds(ReferencedEnvelope bounds) { delegate.setBounds(bounds); } @Override public void setName(String name) { delegate.setName(name); } @Override public void setMode(Mode mode) { delegate.setMode(mode); } @Override public void setWorkspace(WorkspaceInfo workspace) { delegate.setWorkspace(workspace); } @Override public MetadataMap getMetadata() { return delegate.getMetadata(); } @Override public String getTitle() { return delegate.getTitle(); } @Override public void setTitle(String title) { delegate.setTitle(title); } @Override public String getAbstract() { return delegate.getAbstract(); } @Override public void setAbstract(String abstractTxt) { delegate.setAbstract(abstractTxt); } @Override public void accept(CatalogVisitor visitor) { visitor.visit(this); } @Override public List<AuthorityURLInfo> getAuthorityURLs() { return delegate.getAuthorityURLs(); } @Override public List<LayerIdentifierInfo> getIdentifiers() { return delegate.getIdentifiers(); } @Override public String toString() { return new StringBuilder(getClass().getSimpleName()).append('[').append(delegate).append( ']').toString(); } @Override public String getPrefixedName() { return delegate.prefixedName(); } @Override public PublishedType getType() { return delegate.getType(); } @Override public AttributionInfo getAttribution() { return delegate.getAttribution(); } @Override public void setAttribution(AttributionInfo attribution) { delegate.setAttribution(attribution); } @Override public List<MetadataLinkInfo> getMetadataLinks() { return delegate.getMetadataLinks(); } @Override public boolean equals(Object obj) { return LayerGroupInfo.equals(this, obj); } @Override public int hashCode() { return LayerGroupInfo.hashCode(this); } }