public class SuppressPropertiesBeanIntrospector extends java.lang.Object implements BeanIntrospector
A specialized BeanIntrospector
implementation which suppresses some properties.
An instance of this class is passed a set with the names of the properties it should
process. During introspection of a bean class it removes all these properties from the
IntrospectionContext
. So effectively, properties added by a different
BeanIntrospector
are removed again.
Modifier and Type | Field and Description |
---|---|
private java.util.Set<java.lang.String> |
propertyNames
A set with the names of the properties to be suppressed.
|
static SuppressPropertiesBeanIntrospector |
SUPPRESS_CLASS
A specialized instance which is configured to suppress the special
class properties of Java beans. |
static SuppressPropertiesBeanIntrospector |
SUPPRESS_DECLARING_CLASS
A specialized instance which is configured to suppress the special
class properties of Java beans. |
Constructor and Description |
---|
SuppressPropertiesBeanIntrospector(java.util.Collection<java.lang.String> propertiesToSuppress)
Creates a new instance of
SuppressPropertiesBeanIntrospector and sets the
names of the properties to be suppressed. |
Modifier and Type | Method and Description |
---|---|
java.util.Set<java.lang.String> |
getSuppressedProperties()
Returns a (unmodifiable) set with the names of the properties which are suppressed
by this
BeanIntrospector . |
void |
introspect(IntrospectionContext icontext)
Performs introspection on a Java class.
|
public static final SuppressPropertiesBeanIntrospector SUPPRESS_CLASS
class
properties of Java beans. Unintended access to the property
class
(which is common to all Java objects) can be a security risk because it also allows access to the class loader. Adding this instance as
BeanIntrospector
to an instance of PropertyUtilsBean
suppresses the class
property; it can then no longer be accessed.public static final SuppressPropertiesBeanIntrospector SUPPRESS_DECLARING_CLASS
class
properties of Java beans. Unintended access to the call for
declaringClass
(which is common to all Java enum
) can be a security risk because it also allows access to the class loader. Adding this
instance as BeanIntrospector
to an instance of PropertyUtilsBean
suppresses the class
property; it can then no longer be
accessed.private final java.util.Set<java.lang.String> propertyNames
public SuppressPropertiesBeanIntrospector(java.util.Collection<java.lang.String> propertiesToSuppress)
SuppressPropertiesBeanIntrospector
and sets the
names of the properties to be suppressed.propertiesToSuppress
- the names of the properties to be suppressed (must not
be null)java.lang.IllegalArgumentException
- if the collection with property names is
nullpublic java.util.Set<java.lang.String> getSuppressedProperties()
BeanIntrospector
.public void introspect(IntrospectionContext icontext) throws java.beans.IntrospectionException
IntrospectionContext
object. A typical implementation has to obtain this class, determine its
properties according to the rules it implements, and add them to the
passed in context object. This implementation removes all properties from the given context it
is configured for.introspect
in interface BeanIntrospector
icontext
- the context object for interaction with the initiator of
the introspection requestjava.beans.IntrospectionException
- if an error occurs during introspectionCopyright (c) 2000-2008 - Apache Software Foundation