Class CommonMetadata.Builder<T extends CommonMetadata.Builder>

java.lang.Object
com.netflix.genie.common.internal.dtos.CommonMetadata.Builder<T>
Type Parameters:
T - Type of builder that extends this
Direct Known Subclasses:
ApplicationMetadata.Builder, ClusterMetadata.Builder, CommandMetadata.Builder, FinishedJob.Builder, JobMetadata.Builder
Enclosing class:
CommonMetadata

public static class CommonMetadata.Builder<T extends CommonMetadata.Builder> extends Object
Builder for common fields.
Since:
4.0.0
  • Constructor Details

    • Builder

      protected Builder(String name, String user, String version)
      Constructor with required fields.
      Parameters:
      name - The name of the resource
      user - The user owning the resource
      version - The version of hte resource
  • Method Details

    • withDescription

      public T withDescription(@Nullable String description)
      Set the description for the resource.
      Parameters:
      description - The description to use
      Returns:
      The builder
    • withTags

      public T withTags(@Nullable Set<String> tags)
      Set the tags to use for the resource.
      Parameters:
      tags - The tags to use. Blanks will be removed
      Returns:
      The builder
    • withMetadata

      public T withMetadata(@Nullable com.fasterxml.jackson.databind.JsonNode metadata)
      With the metadata to set for the job as a JsonNode.
      Parameters:
      metadata - The metadata to set
      Returns:
      The builder
    • withMetadata

      public T withMetadata(@Nullable String metadata) throws IllegalArgumentException
      With the ad-hoc metadata to set for the resource as a string of valid JSON.
      Parameters:
      metadata - The metadata to set. Must be valid JSON
      Returns:
      The builder
      Throws:
      IllegalArgumentException - On invalid JSON