package nl.tudelft.simulation.introspection; /** * The introspector provides introspection services, i.e. property discovery and manipulation, for any object. *

* (c) copyright 2002-2014 Delft University of Technology.
* BSD-style license. See DSOL License.
* @author Peter Jacobs. * @author Alexander Verbraeck. * @author Niels Lang. * @since 1.5 */ public interface Introspector { /** * @param introspected the introspected object * @return Retrieves properties of the introspected object. The properties' values can themselves be introspectable. * An empty array is returned if no introspected object has been set. */ Property[] getProperties(Object introspected); /** * Retrieves the names of the properties of the introspected object. * @param introspected The introspected object. * @return An unordered array of the introspected object's property names. */ String[] getPropertyNames(Object introspected); /** * Retrieves the {see Property}with a given name from an introspected object. * @param introspected The introspected object. * @param property The name of the property to be retrieved * @return A {see Property}instance for the given object and property name. */ Property getProperty(Object introspected, String property); }