Class CachedMethod.ArrayMapCachedMethod

  • Enclosing class:
    CachedMethod

    public static class CachedMethod.ArrayMapCachedMethod
    extends CachedMethod
    A class representing the invocation of a scalar method on an array of elements.
    • Constructor Detail

      • ArrayMapCachedMethod

        public ArrayMapCachedMethod​(java.lang.String methodName,
                                    Type[] argumentTypes,
                                    int type,
                                    CachedMethod cachedMethod,
                                    boolean[] reducedArgs)
                             throws IllegalActionException
        Constructs a CachedMethod$ArrayMapCachedMethod object.
        Parameters:
        methodName - The name of the method.
        argumentTypes - The types of the arguments.
        type - An integer specifying the type
        cachedMethod - The method to be invoked
        reducedArgs - An array of booleans where if an element of the array is true and the corresponding argument is an ArrayToken, then invoke() handles those arguments specially.
        Throws:
        IllegalActionException - Not thrown in this derived class, but the superclass throws it if the return type of the cached method cannot be determined.
    • Method Detail

      • invoke

        public Token invoke​(java.lang.Object[] argValues)
                     throws IllegalActionException
        Invoke the method represented by this CachedMethod. This implements any conversions necessary to turn token arguments into other arguments, and to convert the result back into a token.
        Overrides:
        invoke in class CachedMethod
        Parameters:
        argValues - An array of token objects that will be used as the arguments. Note that each element must be an ArrayToken and each ArrayToken must have the same length as the other ArrayTokens.
        Returns:
        The token result of the method invocation.
        Throws:
        IllegalActionException - If the invoked method throws it.
      • isValid

        public boolean isValid()
        Override the base class to correctly implement the isValid() method.
        Overrides:
        isValid in class CachedMethod
        Returns:
        True if a method was found.
      • getReturnType

        public Type getReturnType()
                           throws IllegalActionException
        Override the base class to return an array type with the element type being the return type of the underlying scalar method.
        Overrides:
        getReturnType in class CachedMethod
        Returns:
        An ArrayType with an appropriate element type.
        Throws:
        IllegalActionException - If a method or function with the correct argument types was not found.
      • methodDescription

        public java.lang.String methodDescription()
        Return an appropriate description of the method being invoked.
        Overrides:
        methodDescription in class CachedMethod
        Returns:
        A description of the method being invoked.