Class CoffeePickSearch

    • Method Detail

      • repository

        public java.util.Optional<java.lang.String> repository()
        Specified by:
        repository in interface CoffeePickSearchType
        Returns:
        The repository URI
      • platform

        public java.util.Optional<java.lang.String> platform()
        Specified by:
        platform in interface CoffeePickSearchType
        Returns:
        The name of the platform upon which this runtime will run
      • architecture

        public java.util.Optional<java.lang.String> architecture()
        Specified by:
        architecture in interface CoffeePickSearchType
        Returns:
        The name of the architecture upon which this runtime will run
      • vm

        public java.util.Optional<java.lang.String> vm()
        Specified by:
        vm in interface CoffeePickSearchType
        Returns:
        The name of the VM used for this runtime
      • archiveURI

        public java.util.Optional<java.net.URI> archiveURI()
        Specified by:
        archiveURI in interface CoffeePickSearchType
        Returns:
        A URI that can be used to fetch an archive of the runtime
      • archiveSize

        public java.util.OptionalLong archiveSize()
        Specified by:
        archiveSize in interface CoffeePickSearchType
        Returns:
        The size in octets of the archive
      • id

        public java.util.Optional<java.lang.String> id()
        Specified by:
        id in interface CoffeePickSearchType
        Returns:
        The unique identifier of the runtime
      • requiredTags

        public java.util.Set<java.lang.String> requiredTags()
        Specified by:
        requiredTags in interface CoffeePickSearchType
        Returns:
        A set of tags that must be present on a given runtime
      • withRepository

        public final CoffeePickSearch withRepository​(java.lang.String value)
        Copy the current immutable object by setting a present value for the optional repository attribute.
        Parameters:
        value - The value for repository
        Returns:
        A modified copy of this object
      • withRepository

        public final CoffeePickSearch withRepository​(java.util.Optional<java.lang.String> optional)
        Copy the current immutable object by setting an optional value for the repository attribute. An equality check is used on inner nullable value to prevent copying of the same value by returning this.
        Parameters:
        optional - A value for repository
        Returns:
        A modified copy of this object
      • withVersionRange

        public final CoffeePickSearch withVersionRange​(RuntimeVersionRange value)
        Copy the current immutable object by setting a present value for the optional versionRange attribute.
        Parameters:
        value - The value for versionRange
        Returns:
        A modified copy of this object
      • withVersionRange

        public final CoffeePickSearch withVersionRange​(java.util.Optional<? extends RuntimeVersionRange> optional)
        Copy the current immutable object by setting an optional value for the versionRange attribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returning this.
        Parameters:
        optional - A value for versionRange
        Returns:
        A modified copy of this object
      • withPlatform

        public final CoffeePickSearch withPlatform​(java.lang.String value)
        Copy the current immutable object by setting a present value for the optional platform attribute.
        Parameters:
        value - The value for platform
        Returns:
        A modified copy of this object
      • withPlatform

        public final CoffeePickSearch withPlatform​(java.util.Optional<java.lang.String> optional)
        Copy the current immutable object by setting an optional value for the platform attribute. An equality check is used on inner nullable value to prevent copying of the same value by returning this.
        Parameters:
        optional - A value for platform
        Returns:
        A modified copy of this object
      • withArchitecture

        public final CoffeePickSearch withArchitecture​(java.lang.String value)
        Copy the current immutable object by setting a present value for the optional architecture attribute.
        Parameters:
        value - The value for architecture
        Returns:
        A modified copy of this object
      • withArchitecture

        public final CoffeePickSearch withArchitecture​(java.util.Optional<java.lang.String> optional)
        Copy the current immutable object by setting an optional value for the architecture attribute. An equality check is used on inner nullable value to prevent copying of the same value by returning this.
        Parameters:
        optional - A value for architecture
        Returns:
        A modified copy of this object
      • withVm

        public final CoffeePickSearch withVm​(java.lang.String value)
        Copy the current immutable object by setting a present value for the optional vm attribute.
        Parameters:
        value - The value for vm
        Returns:
        A modified copy of this object
      • withVm

        public final CoffeePickSearch withVm​(java.util.Optional<java.lang.String> optional)
        Copy the current immutable object by setting an optional value for the vm attribute. An equality check is used on inner nullable value to prevent copying of the same value by returning this.
        Parameters:
        optional - A value for vm
        Returns:
        A modified copy of this object
      • withConfiguration

        public final CoffeePickSearch withConfiguration​(RuntimeConfiguration value)
        Copy the current immutable object by setting a present value for the optional configuration attribute.
        Parameters:
        value - The value for configuration
        Returns:
        A modified copy of this object
      • withConfiguration

        public final CoffeePickSearch withConfiguration​(java.util.Optional<? extends RuntimeConfiguration> optional)
        Copy the current immutable object by setting an optional value for the configuration attribute. An equality check is used on inner nullable value to prevent copying of the same value by returning this.
        Parameters:
        optional - A value for configuration
        Returns:
        A modified copy of this object
      • withArchiveURI

        public final CoffeePickSearch withArchiveURI​(java.net.URI value)
        Copy the current immutable object by setting a present value for the optional archiveURI attribute.
        Parameters:
        value - The value for archiveURI
        Returns:
        A modified copy of this object
      • withArchiveURI

        public final CoffeePickSearch withArchiveURI​(java.util.Optional<? extends java.net.URI> optional)
        Copy the current immutable object by setting an optional value for the archiveURI attribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returning this.
        Parameters:
        optional - A value for archiveURI
        Returns:
        A modified copy of this object
      • withArchiveSize

        public final CoffeePickSearch withArchiveSize​(long value)
        Copy the current immutable object by setting a present value for the optional archiveSize attribute.
        Parameters:
        value - The value for archiveSize
        Returns:
        A modified copy of this object
      • withArchiveSize

        public final CoffeePickSearch withArchiveSize​(java.util.OptionalLong optional)
        Copy the current immutable object by setting an optional value for the archiveSize attribute. An equality check is used on inner nullable value to prevent copying of the same value by returning this.
        Parameters:
        optional - A value for archiveSize
        Returns:
        A modified copy of this object
      • withArchiveHash

        public final CoffeePickSearch withArchiveHash​(RuntimeHash value)
        Copy the current immutable object by setting a present value for the optional archiveHash attribute.
        Parameters:
        value - The value for archiveHash
        Returns:
        A modified copy of this object
      • withArchiveHash

        public final CoffeePickSearch withArchiveHash​(java.util.Optional<? extends RuntimeHash> optional)
        Copy the current immutable object by setting an optional value for the archiveHash attribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returning this.
        Parameters:
        optional - A value for archiveHash
        Returns:
        A modified copy of this object
      • withId

        public final CoffeePickSearch withId​(java.lang.String value)
        Copy the current immutable object by setting a present value for the optional id attribute.
        Parameters:
        value - The value for id
        Returns:
        A modified copy of this object
      • withId

        public final CoffeePickSearch withId​(java.util.Optional<java.lang.String> optional)
        Copy the current immutable object by setting an optional value for the id attribute. An equality check is used on inner nullable value to prevent copying of the same value by returning this.
        Parameters:
        optional - A value for id
        Returns:
        A modified copy of this object
      • withRequiredTags

        public final CoffeePickSearch withRequiredTags​(java.lang.String... elements)
        Copy the current immutable object with elements that replace the content of requiredTags.
        Parameters:
        elements - The elements to set
        Returns:
        A modified copy of this object
      • withRequiredTags

        public final CoffeePickSearch withRequiredTags​(java.lang.Iterable<java.lang.String> elements)
        Copy the current immutable object with elements that replace the content of requiredTags. A shallow reference equality check is used to prevent copying of the same value by returning this.
        Parameters:
        elements - An iterable of requiredTags elements to set
        Returns:
        A modified copy of this object
      • equals

        public boolean equals​(java.lang.Object another)
        This instance is equal to all instances of CoffeePickSearch that have equal attribute values.
        Overrides:
        equals in class java.lang.Object
        Returns:
        true if this is equal to another instance
      • hashCode

        public int hashCode()
        Computes a hash code from attributes: repository, versionRange, platform, architecture, vm, configuration, archiveURI, archiveSize, archiveHash, id, requiredTags.
        Overrides:
        hashCode in class java.lang.Object
        Returns:
        hashCode value
      • toString

        public java.lang.String toString()
        Prints the immutable value CoffeePickSearch with attribute values.
        Overrides:
        toString in class java.lang.Object
        Returns:
        A string representation of the value
      • copyOf

        public static CoffeePickSearch copyOf​(CoffeePickSearchType instance)
        Creates an immutable copy of a CoffeePickSearchType value. Uses accessors to get values to initialize the new immutable instance. If an instance is already immutable, it is returned as is.
        Parameters:
        instance - The instance to copy
        Returns:
        A copied immutable CoffeePickSearch instance
      • builder

        public static CoffeePickSearch.Builder builder()
        Creates a builder for CoffeePickSearch.
         CoffeePickSearch.builder()
            .setRepository(String) // optional repository
            .setVersionRange(com.io7m.coffeepick.runtime.RuntimeVersionRange) // optional versionRange
            .setPlatform(String) // optional platform
            .setArchitecture(String) // optional architecture
            .setVm(String) // optional vm
            .setConfiguration(com.io7m.coffeepick.runtime.RuntimeConfiguration) // optional configuration
            .setArchiveURI(java.net.URI) // optional archiveURI
            .setArchiveSize(long) // optional archiveSize
            .setArchiveHash(com.io7m.coffeepick.runtime.RuntimeHash) // optional archiveHash
            .setId(String) // optional id
            .addRequiredTags|addAllRequiredTags(String) // requiredTags elements
            .build();
         
        Returns:
        A new CoffeePickSearch builder