com.kero.security.core.proxy.ProxyWrapper Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of kero-security Show documentation
Show all versions of kero-security Show documentation
Kero-Security is a library for statically controlling access to properties of objects / classes.
package com.kero.security.core.proxy;
import java.lang.reflect.Modifier;
import com.kero.security.core.config.PreparedAccessConfiguration;
import com.kero.security.core.utils.ByteBuddyClassUtils;
public interface ProxyWrapper {
public Object wrap(Object obj, PreparedAccessConfiguration pac);
public static ProxyWrapper create(Class> targetClass) {
boolean accessible = ByteBuddyClassUtils.checkAccessible(targetClass);
if(!Modifier.isFinal(targetClass.getModifiers()) && accessible) {
return new SubclassProxyWrapper(targetClass);
}
else {
return new AdaptiveProxyWrapper(targetClass);
}
}
}