Class FieldIntrospector

java.lang.Object
nl.tudelft.simulation.introspection.fields.FieldIntrospector
All Implemented Interfaces:
Introspector

public class FieldIntrospector extends Object implements Introspector
The IntrospectionField introspector provides a field manipulation implementation of the introspection interfaces. Its behavior adheres to the following:
  • Properties are discovered by searching for an object's fields (visibility neutral)
  • Property value are manipulated by setting field values (visibility neutral)

Copyright (c) 2002-2024 Delft University of Technology, Jaffalaan 5, 2628 BX Delft, the Netherlands. All rights reserved. See for project information https://simulation.tudelft.nl. The DSOL project is distributed under a three-clause BSD-style license, which can be found at https://https://simulation.tudelft.nl/dsol/docs/latest/license.html.

Since:
1.5
Author:
Peter Jacobs , Alexander Verbraeck, Niels Lang.
  • Constructor Details

    • FieldIntrospector

      public FieldIntrospector()
      constructs a new FieldIntrospector.
    • FieldIntrospector

      public FieldIntrospector(boolean useDeepIntrospection)
      constructs a new FieldIntrospector.
      Parameters:
      useDeepIntrospection - boolean; whether to use deep introspection
  • Method Details

    • getProperties

      public Property[] getProperties(Object introspectedObject)
      Specified by:
      getProperties in interface Introspector
      Parameters:
      introspectedObject - Object; the introspected object
      Returns:
      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.
    • getProperty

      public Property getProperty(Object introspectedObject, String property)
      Retrieves the {see Property}with a given name from an introspected object.
      Specified by:
      getProperty in interface Introspector
      Parameters:
      introspectedObject - Object; The introspected object.
      property - String; The name of the property to be retrieved
      Returns:
      A {see Property}instance for the given object and property name.
    • getPropertyNames

      public String[] getPropertyNames(Object introspectedObject)
      Retrieves the names of the properties of the introspected object.
      Specified by:
      getPropertyNames in interface Introspector
      Parameters:
      introspectedObject - Object; The introspected object.
      Returns:
      An unordered array of the introspected object's property names.