Il Javadoc per il metodo degli stati di classe PropertyDescriptor
getPropertyType
:
Il risultato può essere "nullo" se questa è una proprietà indicizzata che non si supporto accesso non indicizzato.
Le proprietà indicizzate sono quelle che sono supportate da una matrice di valori. Oltre ai metodi di accesso standard JavaBean, le proprietà indicizzate possono anche avere metodi per ottenere/impostare singoli elementi nella matrice, specificando un indice. Il JavaBean, può quindi, hanno i getter indicizzati e setter:
public PropertyElement getPropertyName(int index)
public void setPropertyName(int index, PropertyElement element)
oltre il getter standard setter per l'accesso non indicizzato:
public PropertyElement[] getPropertyName()
public void setPropertyName(PropertyElement element[])
Andando dalla descrizione Javadoc, se si omette il Accessors non indicizzati, è possibile ottenere un valore restituito di null
per il tipo di proprietà del descrittore di proprietà.
Quindi, se si dispone di un JavaBean delle seguenti varietà, si potrebbe ottenere un valore di ritorno nullo:
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, mentre che è possibile implementare le funzioni di accesso proprietà indicizzati da sola, non è consigliabile fare pertanto, poiché gli accessori standard vengono utilizzati per leggere e scrivere valori, se si utilizzano i metodi getReadMethod
e getWriteMethod
di PropertyDescriptor
.