All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.honnix.rkt.launcher.output.TrustOutputBuilder Maven / Gradle / Ivy

There is a newer version: 0.0.8
Show newest version
package io.honnix.rkt.launcher.output;

import io.honnix.rkt.launcher.model.TrustedPubkey;
import io.norberg.automatter.AutoMatter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import javax.annotation.Generated;

@Generated("io.norberg.automatter.processor.AutoMatterProcessor")
public final class TrustOutputBuilder {
  private List trustedPubkeys;

  public TrustOutputBuilder() {
  }

  private TrustOutputBuilder(TrustOutput v) {
    List _trustedPubkeys = v.trustedPubkeys();
    this.trustedPubkeys = (_trustedPubkeys == null) ? null : new ArrayList(_trustedPubkeys);
  }

  private TrustOutputBuilder(TrustOutputBuilder v) {
    this.trustedPubkeys = (v.trustedPubkeys == null) ? null : new ArrayList(v.trustedPubkeys);
  }

  public List trustedPubkeys() {
    if (this.trustedPubkeys == null) {
      this.trustedPubkeys = new ArrayList();
    }
    return trustedPubkeys;
  }

  public TrustOutputBuilder trustedPubkeys(List trustedPubkeys) {
    return trustedPubkeys((Collection) trustedPubkeys);
  }

  public TrustOutputBuilder trustedPubkeys(Collection trustedPubkeys) {
    if (trustedPubkeys == null) {
      throw new NullPointerException("trustedPubkeys");
    }
    for (TrustedPubkey item : trustedPubkeys) {
      if (item == null) {
        throw new NullPointerException("trustedPubkeys: null item");
      }
    }
    this.trustedPubkeys = new ArrayList(trustedPubkeys);
    return this;
  }

  public TrustOutputBuilder trustedPubkeys(Iterable trustedPubkeys) {
    if (trustedPubkeys == null) {
      throw new NullPointerException("trustedPubkeys");
    }
    if (trustedPubkeys instanceof Collection) {
      return trustedPubkeys((Collection) trustedPubkeys);
    }
    return trustedPubkeys(trustedPubkeys.iterator());
  }

  public TrustOutputBuilder trustedPubkeys(Iterator trustedPubkeys) {
    if (trustedPubkeys == null) {
      throw new NullPointerException("trustedPubkeys");
    }
    this.trustedPubkeys = new ArrayList();
    while (trustedPubkeys.hasNext()) {
      TrustedPubkey item = trustedPubkeys.next();
      if (item == null) {
        throw new NullPointerException("trustedPubkeys: null item");
      }
      this.trustedPubkeys.add(item);
    }
    return this;
  }

  @SafeVarargs
  public final TrustOutputBuilder trustedPubkeys(TrustedPubkey... trustedPubkeys) {
    if (trustedPubkeys == null) {
      throw new NullPointerException("trustedPubkeys");
    }
    return trustedPubkeys(Arrays.asList(trustedPubkeys));
  }

  public TrustOutputBuilder addTrustedPubkey(TrustedPubkey trustedPubkey) {
    if (trustedPubkey == null) {
      throw new NullPointerException("trustedPubkey");
    }
    if (this.trustedPubkeys == null) {
      this.trustedPubkeys = new ArrayList();
    }
    trustedPubkeys.add(trustedPubkey);
    return this;
  }

  public TrustOutput build() {
    List _trustedPubkeys = (trustedPubkeys != null) ? Collections.unmodifiableList(new ArrayList(trustedPubkeys)) : Collections.emptyList();
    return new Value(_trustedPubkeys);
  }

  public static TrustOutputBuilder from(TrustOutput v) {
    return new TrustOutputBuilder(v);
  }

  public static TrustOutputBuilder from(TrustOutputBuilder v) {
    return new TrustOutputBuilder(v);
  }

  private static final class Value implements TrustOutput {
    private final List trustedPubkeys;

    private Value(@AutoMatter.Field("trustedPubkeys") List trustedPubkeys) {
      this.trustedPubkeys = (trustedPubkeys != null) ? trustedPubkeys : Collections.emptyList();
    }

    @AutoMatter.Field
    @Override
    public List trustedPubkeys() {
      return trustedPubkeys;
    }

    public TrustOutputBuilder builder() {
      return new TrustOutputBuilder(this);
    }

    @Override
    public boolean equals(Object o) {
      if (this == o) {
        return true;
      }
      if (!(o instanceof TrustOutput)) {
        return false;
      }
      final TrustOutput that = (TrustOutput) o;
      if (trustedPubkeys != null ? !trustedPubkeys.equals(that.trustedPubkeys()) : that.trustedPubkeys() != null) {
        return false;
      }
      return true;
    }

    @Override
    public int hashCode() {
      int result = 1;
      long temp;
      result = 31 * result + (trustedPubkeys != null ? trustedPubkeys.hashCode() : 0);
      return result;
    }

    @Override
    public String toString() {
      return "TrustOutput{" +
      "trustedPubkeys=" + trustedPubkeys +
      '}';
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy