/* * Copyright 2012 McEvoy Software Ltd. * */ package io.milton.http.acl; import io.milton.resource.AccessControlledResource; import io.milton.http.webdav.ResourceTypeHelper; import io.milton.resource.Resource; import java.util.List; import javax.xml.namespace.QName; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * * @author alex */ public class AccessControlledResourceTypeHelper implements ResourceTypeHelper { private static final Logger log = LoggerFactory.getLogger( AccessControlledResourceTypeHelper.class ); private final ResourceTypeHelper wrapped; public AccessControlledResourceTypeHelper( ResourceTypeHelper wrapped ) { this.wrapped = wrapped; } @Override public List<QName> getResourceTypes( Resource r ) { List<QName> list = wrapped.getResourceTypes( r ); return list; } @Override public List<String> getSupportedLevels( Resource r ) { log.trace( "getSupportedLevels" ); List<String> list = wrapped.getSupportedLevels( r ); if( r instanceof AccessControlledResource ) { list.add( "access-control" ); } return list; } }