Interface WindowContext

All Superinterfaces:
BaseContext

@Public @Stable public interface WindowContext extends BaseContext
  • Method Details

    • getFunctionName

      String getFunctionName()
      The name of the function that we are executing.
      Returns:
      The Function name
    • getFunctionId

      String getFunctionId()
      The id of the function that we are executing.
      Returns:
      The function id
    • getFunctionVersion

      String getFunctionVersion()
      The version of the function that we are executing.
      Returns:
      The version id
    • getInputTopics

      Collection<String> getInputTopics()
      Get a list of all input topics.
      Returns:
      a list of all input topics
    • getOutputTopic

      String getOutputTopic()
      Get the output topic of the function.
      Returns:
      output topic name
    • getOutputSchemaType

      String getOutputSchemaType()
      Get output schema builtin type or custom class name.
      Returns:
      output schema builtin type or custom class name
    • getUserConfigMap

      Map<String,Object> getUserConfigMap()
      Get a map of all user-defined key/value configs for the function.
      Returns:
      The full map of user-defined config values
    • getUserConfigValue

      Optional<Object> getUserConfigValue(String key)
      Get any user-defined key/value.
      Parameters:
      key - The key
      Returns:
      The Optional value specified by the user for that key.
    • getUserConfigValueOrDefault

      Object getUserConfigValueOrDefault(String key, Object defaultValue)
      Get any user-defined key/value or a default value if none is present.
      Parameters:
      key - the config key to retrieve
      defaultValue - value returned if the key is not found
      Returns:
      Either the user config value associated with a given key or a supplied default value
    • publish

      <T> CompletableFuture<Void> publish(String topicName, T object, String schemaOrSerdeClassName)
      Publish an object using serDe for serializing to the topic.
      Parameters:
      topicName - The name of the topic for publishing
      object - The object that needs to be published
      schemaOrSerdeClassName - Either a builtin schema type (eg: "avro", "json", "protobuf") or the class name of the custom schema class
      Returns:
      A future that completes when the framework is done publishing the message
    • publish

      <T> CompletableFuture<Void> publish(String topicName, T object)
      Publish an object to the topic using default schemas.
      Parameters:
      topicName - The name of the topic for publishing
      object - The object that needs to be published
      Returns:
      A future that completes when the framework is done publishing the message