El Javadoc para el método de los estados de clase PropertyDescriptor
getPropertyType
:
El resultado puede ser "nulo" si se trata de una propiedad indizada que no soporte de acceso no indexada.
Las propiedades indexadas son aquellas respaldadas por una matriz de valores. Además de los métodos de acceso JavaBean estándar, las propiedades indexadas también pueden tener métodos para obtener/establecer elementos individuales en la matriz, especificando un índice. El JavaBean, pueden, por tanto, tienen los captadores indexados y definidores:
public PropertyElement getPropertyName(int index)
public void setPropertyName(int index, PropertyElement element)
además del captador estándar y setter para el acceso no indexada:
public PropertyElement[] getPropertyName()
public void setPropertyName(PropertyElement element[])
A juzgar por la descripción de Javadoc, si se omite el Los descriptores de acceso no indexados pueden obtener un valor de retorno de null
para el tipo de propiedad del descriptor de propiedad.
Por lo tanto, si usted tiene un JavaBean de la siguiente variedad, se puede obtener un valor de retorno nulo:
class ExampleBean
{
ExampleBean()
{
this.elements = new String[10];
}
private String[] elements;
// standard getters and setters for non-indexed access. Comment the lines in the double curly brackets, to have getPropertyType return null.
// {{
public String[] getElements()
{
return elements;
}
public void setElements(String[] elements)
{
this.elements = elements;
}
// }}
// indexed getters and setters
public String getElements(int index) {
return this.elements[index];
}
public void setElements(int index, String[] elements)
{
this.elements[index] = elements;
}
}
Nota, mientras que se puede implementar los descriptores de acceso indexado solo, no se recomienda hacer Entonces, como los accesadores estándar se usan para leer y escribir valores, si usa los métodos getReadMethod
y getWriteMethod
del PropertyDescriptor
.