* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
Param base may be a map, in which case param property is used as a key into the map, and the type of the object with that key is returned. If there is no such key in the map, then Object.class is returned.
Otherwise java.beans.Introspector is used to determine the actual property type. If the base bean has no such property then a PropertyNotFoundException is thrown.
basemust not be null.
propertymust be of type String, must not be null and must not be an empty string.
Param base must be of type Array or List. When the array is of a primitive type, the appropriate wrapper is returned.
Null is returned when param index is "out of bounds" for the provided base object.
ReferenceSyntaxExceptionif the base object is not an Array or List.
If base is a Map, then Map.get(property) is returned. Null is returned if there is no entry with that key.
Otherwise, java.beans.Introspector is applied to the base object to find the associated PropertyDescriptor and the specified read method is invoked.
PropertyNotFoundExceptionif the provided object does not have the specified property.