Package org.apache.commons.beanutils
Class SuppressPropertiesBeanIntrospector
- java.lang.Object
-
- org.apache.commons.beanutils.SuppressPropertiesBeanIntrospector
-
- All Implemented Interfaces:
BeanIntrospector
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 differentBeanIntrospector
are removed again.- Since:
- 1.9.2
-
-
Field Summary
Fields Modifier and Type Field 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 specialclass
properties of Java beans.static SuppressPropertiesBeanIntrospector
SUPPRESS_DECLARING_CLASS
A specialized instance which is configured to suppress the specialclass
properties of Java beans.
-
Constructor Summary
Constructors Constructor Description SuppressPropertiesBeanIntrospector(java.util.Collection<java.lang.String> propertiesToSuppress)
Creates a new instance ofSuppressPropertiesBeanIntrospector
and sets the names of the properties to be suppressed.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Set<java.lang.String>
getSuppressedProperties()
Returns a (unmodifiable) set with the names of the properties which are suppressed by thisBeanIntrospector
.void
introspect(IntrospectionContext icontext)
Performs introspection on a Java class.
-
-
-
Field Detail
-
SUPPRESS_CLASS
public static final SuppressPropertiesBeanIntrospector SUPPRESS_CLASS
A specialized instance which is configured to suppress the specialclass
properties of Java beans. Unintended access to the propertyclass
(which is common to all Java objects) can be a security risk because it also allows access to the class loader. Adding this instance asBeanIntrospector
to an instance ofPropertyUtilsBean
suppresses theclass
property; it can then no longer be accessed.
-
SUPPRESS_DECLARING_CLASS
public static final SuppressPropertiesBeanIntrospector SUPPRESS_DECLARING_CLASS
A specialized instance which is configured to suppress the specialclass
properties of Java beans. Unintended access to the call fordeclaringClass
(which is common to all Javaenum
) can be a security risk because it also allows access to the class loader. Adding this instance asBeanIntrospector
to an instance ofPropertyUtilsBean
suppresses theclass
property; it can then no longer be accessed.- Since:
- 1.11.0
-
propertyNames
private final java.util.Set<java.lang.String> propertyNames
A set with the names of the properties to be suppressed.
-
-
Constructor Detail
-
SuppressPropertiesBeanIntrospector
public SuppressPropertiesBeanIntrospector(java.util.Collection<java.lang.String> propertiesToSuppress)
Creates a new instance ofSuppressPropertiesBeanIntrospector
and sets the names of the properties to be suppressed.- Parameters:
propertiesToSuppress
- the names of the properties to be suppressed (must not be null)- Throws:
java.lang.IllegalArgumentException
- if the collection with property names is null
-
-
Method Detail
-
getSuppressedProperties
public java.util.Set<java.lang.String> getSuppressedProperties()
Returns a (unmodifiable) set with the names of the properties which are suppressed by thisBeanIntrospector
.- Returns:
- a set with the names of the suppressed properties
-
introspect
public void introspect(IntrospectionContext icontext) throws java.beans.IntrospectionException
Performs introspection on a Java class. The current class to be inspected can be queried from the passed inIntrospectionContext
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.- Specified by:
introspect
in interfaceBeanIntrospector
- Parameters:
icontext
- the context object for interaction with the initiator of the introspection request- Throws:
java.beans.IntrospectionException
- if an error occurs during introspection
-
-