Class UserFunctions

  • All Implemented Interfaces:
    java.lang.Iterable<UserFunction>

    public final class UserFunctions
    extends java.lang.Object
    implements java.lang.Iterable<UserFunction>
    An immutable container for a keyspace's UDAs and UDFs.
    • Method Detail

      • iterator

        public java.util.Iterator<UserFunction> iterator()
        Specified by:
        iterator in interface java.lang.Iterable<UserFunction>
      • stream

        public java.util.stream.Stream<UserFunction> stream()
      • size

        public int size()
      • udfs

        public java.util.stream.Stream<UDFunction> udfs()
        Returns:
        a stream of keyspace's UDFs
      • udas

        public java.util.stream.Stream<UDAggregate> udas()
        Returns:
        a stream of keyspace's UDAs
      • referencingUserType

        public java.lang.Iterable<UserFunction> referencingUserType​(java.nio.ByteBuffer name)
      • aggregatesUsingFunction

        public java.util.stream.Stream<UDAggregate> aggregatesUsingFunction​(Function function)
        Parameters:
        function - the referree function
        Returns:
        a stream of aggregates that use the provided function as either a state or a final function
      • get

        public java.util.Collection<UserFunction> get​(FunctionName name)
        Get all function overloads with the specified name
        Parameters:
        name - fully qualified function name
        Returns:
        an empty list if the function name is not found; a non-empty collection of Function otherwise
      • getUdfs

        public java.util.Collection<UDFunction> getUdfs​(FunctionName name)
        Get all UDFs overloads with the specified name
        Parameters:
        name - fully qualified function name
        Returns:
        an empty list if the function name is not found; a non-empty collection of UDFunction otherwise
      • getUdas

        public java.util.Collection<UDAggregate> getUdas​(FunctionName name)
        Get all UDAs overloads with the specified name
        Parameters:
        name - fully qualified function name
        Returns:
        an empty list if the function name is not found; a non-empty collection of UDAggregate otherwise
      • find

        public java.util.Optional<UserFunction> find​(FunctionName name,
                                                     java.util.List<AbstractType<?>> argTypes,
                                                     UserFunctions.Filter filter)
        Find the function with the specified name
        Parameters:
        name - fully qualified function name
        argTypes - function argument types
        Returns:
        an empty Optional if the function name is not found; a non-empty optional of Function otherwise
      • isEmpty

        public boolean isEmpty()
      • typeHashCode

        public static int typeHashCode​(AbstractType<?> t)
      • typeHashCode

        public static int typeHashCode​(java.util.List<AbstractType<?>> types)
      • without

        public UserFunctions without​(FunctionName name,
                                     java.util.List<AbstractType<?>> argTypes)
        Creates a Functions instance with the function with the provided name and argument types removed
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

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

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object