Class LongInvoker

java.lang.Object
microsim.statistics.reflectors.LongInvoker
All Implemented Interfaces:
LongSource

public class LongInvoker extends Object implements LongSource
Employs Java reflection to call objects' methods which return long values.
  • Field Details

    • method

      protected Method method
    • field

      protected Field field
    • target

      protected Object target
  • Constructor Details

    • LongInvoker

      public LongInvoker(@NonNull @NonNull Object target, @NonNull @NonNull String fieldName, boolean isMethod)
      Constructor.
      Parameters:
      target - It is the target object.
      fieldName - A string representing the name of the method to invoke.
      isMethod - If true the fieldName is a method, otherwise it is a property of the object.
      Throws:
      NullPointerException - when any of the input parameters is null.
    • LongInvoker

      public LongInvoker(@NonNull @NonNull Class<?> target, @NonNull @NonNull String fieldName, boolean isMethod)
      Constructor.
      Parameters:
      target - It is the class of the target object.
      fieldName - A string representing the name of the method to invoke.
      isMethod - If true the fieldName is a method, otherwise it is a property of the object.
      Throws:
      NullPointerException - when any of the input parameters is null.
  • Method Details

    • getLong

      public long getLong(@NonNull @NonNull Object target)
      Invokes the method of the target object and return its double result.
      Parameters:
      target - Object to be invoked.
      Returns:
      The requested double value.
      Throws:
      NullPointerException - when target is null.
    • getLong

      public long getLong()
      Invokes the method of the object passed to constructor and returns its double result.
      Returns:
      The requested double value.
    • getLongValue

      public long getLongValue(@Nullable @Nullable Enum<?> valueID)
      This is an implementation of the LongSource interface. It calls the getLong(Object) method.
      Specified by:
      getLongValue in interface LongSource
      Parameters:
      valueID - This parameter is ignored. It is put for compatibility with the LongSource interface.
      Returns:
      The requested double value.