/**
*
*/
package org.minnal.instrument.entity.metadata.handler;
import java.lang.annotation.Annotation;
import org.minnal.instrument.entity.Secure;
import org.minnal.instrument.entity.Secure.Method;
import org.minnal.instrument.entity.metadata.PermissionMetaData;
import org.minnal.instrument.entity.metadata.SecurableMetaData;
import com.google.common.collect.Sets;
/**
* @author ganeshs
*
*/
public class SecureAnnotationHandler {
public void handle(SecurableMetaData metaData, Annotation annotation) {
metaData.addPermissionMetaData(constructPermissionMetaData(annotation));
}
protected PermissionMetaData constructPermissionMetaData(Annotation annotation) {
Method method = ((Secure) annotation).method();
String[] permissions = ((Secure) annotation).permissions();
return new PermissionMetaData(method.getMethod(), Sets.newHashSet(permissions));
}
}