Package localsolver

Class LSExternalArgumentValues


  • public class LSExternalArgumentValues
    extends java.lang.Object
    Argument values for external functions. Argument values are used to query the values of the arguments passed to external functions.
    Since:
    9.5
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void copyTo​(double[] values)
      Copy all the double values of the argument values to the given array.
      void copyTo​(long[] values)
      Copy all the integer values of the argument values to the given array.
      int count()
      Returns the number of values in the current argument values.
      boolean equals​(java.lang.Object obj)  
      LSArray getArrayValue​(int pos)
      Returns the array value at the given position.
      LSCollection getCollectionValue​(int pos)
      Returns the collection value at the given position.
      double getDoubleValue​(int pos)
      Returns the double value at the given position.
      LSInterval getIntervalValue​(int pos)
      Returns the interval value at the given position.
      long getIntValue​(int pos)
      Returns the integer value at the given position.
      LocalSolver getLocalSolver()
      Returns the LocalSolver object associated to the argument values.
      int hashCode()  
      boolean isArray​(int pos)
      Returns true if the value at the given position is an array.
      boolean isBool​(int pos)
      Returns true if the value at the given position is a boolean.
      boolean isCollection​(int pos)
      Returns true if the value at the given position is a collection (list or set).
      boolean isDouble​(int pos)
      Returns true if the value at the given position is a double.
      boolean isInt​(int pos)
      Returns true if the value at the given position is an integer.
      boolean isInterval​(int pos)
      Returns true if the value at the given position is an interval.
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • getLocalSolver

        public LocalSolver getLocalSolver()
        Returns the LocalSolver object associated to the argument values.
        Returns:
        LocalSolver object.
      • isBool

        public boolean isBool​(int pos)
        Returns true if the value at the given position is a boolean. You can retrieve the value with getIntValue(int).
        Parameters:
        pos - Position of the value to query.
        Returns:
        True if the value at the given position is a boolean.
      • isInt

        public boolean isInt​(int pos)
        Returns true if the value at the given position is an integer. You can retrieve the value with getIntValue(int).
        Parameters:
        pos - Position of the value to query.
        Returns:
        True if the value at the given position is an integer.
      • isDouble

        public boolean isDouble​(int pos)
        Returns true if the value at the given position is a double. You can retrieve the value with getDoubleValue(int).
        Parameters:
        pos - Position of the value to query.
        Returns:
        True if the value at the given position is a double.
      • isInterval

        public boolean isInterval​(int pos)
        Returns true if the value at the given position is an interval. You can retrieve the value with getIntervalValue(int).
        Parameters:
        pos - Position of the value to query.
        Returns:
        True if the value at the given position is an interval.
      • isCollection

        public boolean isCollection​(int pos)
        Returns true if the value at the given position is a collection (list or set). You can retrieve the value with getCollectionValue(int).
        Parameters:
        pos - Position of the value to query.
        Returns:
        True if the value at the given position is a collection.
      • isArray

        public boolean isArray​(int pos)
        Returns true if the value at the given position is an array. You can retrieve the value with getArrayValue(int).
        Parameters:
        pos - Position of the value to query.
        Returns:
        True if the value at the given position is an array.
      • getIntValue

        public long getIntValue​(int pos)
        Returns the integer value at the given position. If the value is neither an integer nor a boolean, an exception is thrown.
        Parameters:
        pos - Position of the value to query.
        Returns:
        Integer value.
      • getDoubleValue

        public double getDoubleValue​(int pos)
        Returns the double value at the given position. If the value is not a double, an exception is thrown.
        Parameters:
        pos - Position of the value to query.
        Returns:
        Double value.
      • getIntervalValue

        public LSInterval getIntervalValue​(int pos)
        Returns the interval value at the given position. If the value is not an interval, an exception is thrown.
        Parameters:
        pos - Position of the value to query.
        Returns:
        Interval value.
      • getCollectionValue

        public LSCollection getCollectionValue​(int pos)
        Returns the collection value at the given position. If the value is not a collection (list or set), an exception is thrown. Note that the returned collection is read only.
        Parameters:
        pos - Position of the value to query.
        Returns:
        Collection value.
      • getArrayValue

        public LSArray getArrayValue​(int pos)
        Returns the array value at the given position. If the value is not an array, an exception is thrown.
        Parameters:
        pos - Position of the value to query.
        Returns:
        Array value.
      • count

        public int count()
        Returns the number of values in the current argument values. Values are indexed from 0 to count() - 1.
        Returns:
        Number of values.
      • copyTo

        public void copyTo​(long[] values)

        Copy all the integer values of the argument values to the given array. Only the integer values are copied to their corresponding position in the array. Cells of the array that correspond to positions of non-integer values in the argument values remain unchanged.

        The length of the array can be different from the number of elements in the argument values. In that case, only the elements that fit in the array are copied.

        This method is recommended if you need to access all the values of the argument values, instead of the roughly equivalent, but less performant, following code:

         
         for(int i = 0; i < Math.min(values.length, argumentValues.count()); ++i) {
             if(!argumentValues.isInt(i)) continue;
             values[i] = argumentValues.getIntValue(i);
         }
         
         
        Parameters:
        values - array that will receive the integer values of the argument values.
      • copyTo

        public void copyTo​(double[] values)

        Copy all the double values of the argument values to the given array. Only the double values are copied to their corresponding position in the array. Cells of the array that correspond to positions of non-double values in the argument values remain unchanged.

        The length of the array can be different from the number of elements in the argument values. In that case, only the elements that fit in the array are copied.

        This method is recommended if you need to access all the values of the argument values, instead of the roughly equivalent, but less performant, following code:

         
         for(int i = 0; i < Math.min(values.length, argumentValues.count()); ++i) {
             if(!argumentValues.isDouble(i)) continue;
             values[i] = argumentValues.getDouble(i);
         }
         
         
        Parameters:
        values - array that will receive the double values of the argument values.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object