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

io.github.oliviercailloux.git.github.model.graphql.IssueSnapshot Maven / Gradle / Ivy

The newest version!
package io.github.oliviercailloux.git.github.model.graphql;

import static java.util.Objects.requireNonNull;

import com.google.common.collect.ImmutableSet;
import java.time.Instant;
import java.util.Set;

/**
 * An issue as it was at some specific time of its life.
 *
 * @author Olivier Cailloux
 *
 */
public class IssueSnapshot {
  public static IssueSnapshot of(Instant birthTime, String name, boolean isOpen,
      Set assignees) {
    return new IssueSnapshot(birthTime, name, isOpen, assignees);
  }

  private final ImmutableSet assignees;

  private final Instant birthTime;

  private final boolean isOpen;

  private final String name;

  private IssueSnapshot(Instant birthTime, String name, boolean isOpen, Set assignees) {
    this.birthTime = requireNonNull(birthTime);
    this.name = requireNonNull(name);
    this.isOpen = isOpen;
    this.assignees = ImmutableSet.copyOf(requireNonNull(assignees));
  }

  public ImmutableSet getAssignees() {
    return assignees;
  }

  public Instant getBirthTime() {
    return birthTime;
  }

  public String getName() {
    return name;
  }

  public boolean isOpen() {
    return isOpen;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy