package hudson.plugins.emailext.groovy.sandbox;
import javax.annotation.Nonnull;
import java.lang.reflect.Method;
import java.util.Properties;
/**
* {@link org.jenkinsci.plugins.scriptsecurity.sandbox.Whitelist} for a specific {@link java.util.Properties} instance.
*/
public class PropertiesInstanceWhitelist extends ObjectInstanceWhitelist<Properties> {
public PropertiesInstanceWhitelist(Properties instance) {
super(instance);
}
@Override
public boolean permitsMethod(@Nonnull Method method, @Nonnull Object receiver, @Nonnull Object[] args) {
if (permitsInstance(receiver) && isClass(method.getDeclaringClass())) {
String name = method.getName();
return name.equals("setProperty")
|| name.equals("put")
|| name.equals("getProperty")
|| name.equals("get")
|| name.equals("propertyNames")
|| name.equals("stringPropertyNames")
|| name.equals("list");
}
return false;
}
}