Indexed Properties
So far we have been talking about properties that have only one value. For each named property, we have a single associated value. But this is not always the best way to represent properties; sometimes a property is better modeled as having multiple values. You can create properties that are actually an ordered collection of values associated with a single name. The individual values are accessed using an integer index, much the same way you would with an array.
There is an additional
design pattern for indexed
properties. The <PropertyType> in the
standard property method design pattern may be an array, as follows:
public <PropertyType>[] get<PropertyName>(); public void set<PropertyName>(<PropertyType>[] value);
These methods are used to access the entire array of property values at one time. An additional method can be used to provide access to individual values in the property array. The method signatures for this pattern are:
public <PropertyType> get<PropertyName>(int index); public void set<PropertyName>(int index, <PropertyType> value);
As with the single value pattern, these methods are allowed to
include a throws clause for throwing checked
exceptions. Specifically, the indexed methods may throw a
java.lang.ArrayIndexOutOfBoundsException
if an index is used that is outside the bounds of the property array. Although this is an important aspect of indexed properties, it isn’t required for the indexed properties pattern. Since the indexed properties are ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access