in client/src/main/java/org/apache/qpid/client/AMQConnection.java [2059:2107]
public boolean isTrusted(Class<?> clazz)
{
while (clazz.isArray())
{
clazz = clazz.getComponentType();
}
if (clazz.isPrimitive())
{
return true;
}
while (clazz != null && (clazz.isAnonymousClass() || clazz.isLocalClass()))
{
clazz = clazz.getEnclosingClass();
}
if (clazz == null || clazz.getCanonicalName() == null)
{
return false;
}
String className = clazz.getCanonicalName();
for (String blackListedClassHierarchy : _blackListedClassHierarchies)
{
if ("*".equals(blackListedClassHierarchy))
{
return false;
}
else if (className != null && (className.equals(blackListedClassHierarchy) || className.startsWith(blackListedClassHierarchy + ".")))
{
return false;
}
}
for (String whiteListedClassHierarchy : _whiteListedClassHierarchies)
{
if ("*".equals(whiteListedClassHierarchy))
{
return true;
}
else if (className != null && (className.equals(whiteListedClassHierarchy) || className.startsWith(whiteListedClassHierarchy + ".")))
{
return true;
}
}
return false;
}