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

io.honnix.rkt.launcher.options.image.ListOptionsBuilder Maven / Gradle / Ivy

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

import io.norberg.automatter.AutoMatter;
import java.util.List;
import java.util.Optional;
import javax.annotation.Generated;

@Generated("io.norberg.automatter.processor.AutoMatterProcessor")
public final class ListOptionsBuilder {
  private Optional order;

  private Optional> sort;

  public ListOptionsBuilder() {
    this.order = Optional.empty();
    this.sort = Optional.empty();
  }

  private ListOptionsBuilder(ListOptions v) {
    this.order = v.order();
    this.sort = v.sort();
  }

  private ListOptionsBuilder(ListOptionsBuilder v) {
    this.order = v.order;
    this.sort = v.sort;
  }

  public Optional order() {
    return order;
  }

  public ListOptionsBuilder order(ListOptions.Order order) {
    return order(Optional.ofNullable(order));
  }

  @SuppressWarnings("unchecked")
  public ListOptionsBuilder order(Optional order) {
    if (order == null) {
      throw new NullPointerException("order");
    }
    this.order = (Optional)order;
    return this;
  }

  public Optional> sort() {
    return sort;
  }

  public ListOptionsBuilder sort(List sort) {
    return sort(Optional.ofNullable(sort));
  }

  @SuppressWarnings("unchecked")
  public ListOptionsBuilder sort(Optional> sort) {
    if (sort == null) {
      throw new NullPointerException("sort");
    }
    this.sort = (Optional>)sort;
    return this;
  }

  public ListOptions build() {
    return new Value(order, sort);
  }

  public static ListOptionsBuilder from(ListOptions v) {
    return new ListOptionsBuilder(v);
  }

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

  private static final class Value implements ListOptions {
    private final Optional order;

    private final Optional> sort;

    private Value(@AutoMatter.Field("order") Optional order, @AutoMatter.Field("sort") Optional> sort) {
      if (order == null) {
        throw new NullPointerException("order");
      }
      if (sort == null) {
        throw new NullPointerException("sort");
      }
      this.order = order;
      this.sort = sort;
    }

    @AutoMatter.Field
    @Override
    public Optional order() {
      return order;
    }

    @AutoMatter.Field
    @Override
    public Optional> sort() {
      return sort;
    }

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

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

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

    @Override
    public String toString() {
      return "ListOptions{" +
      "order=" + order +
      ", sort=" + sort +
      '}';
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy