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

com.spotify.missinglink.CheckerStateBuilder Maven / Gradle / Ivy

The newest version!
package com.spotify.missinglink;

import com.spotify.missinglink.datamodel.ArtifactName;
import com.spotify.missinglink.datamodel.ClassTypeDescriptor;
import com.spotify.missinglink.datamodel.DeclaredClass;
import io.norberg.automatter.AutoMatter;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import javax.annotation.Generated;

@Generated("io.norberg.automatter.processor.AutoMatterProcessor")
final class CheckerStateBuilder {
  private Map sourceMappings;

  private Optional> potentialConflictClasses;

  private Map knownClasses;

  public CheckerStateBuilder() {
    this.potentialConflictClasses = Optional.empty();
  }

  private CheckerStateBuilder(CheckerState v) {
    Map _sourceMappings = v.sourceMappings();
    this.sourceMappings = (_sourceMappings == null) ? null : new HashMap(_sourceMappings);
    this.potentialConflictClasses = v.potentialConflictClasses();
    Map _knownClasses = v.knownClasses();
    this.knownClasses = (_knownClasses == null) ? null : new HashMap(_knownClasses);
  }

  private CheckerStateBuilder(CheckerStateBuilder v) {
    this.sourceMappings = (v.sourceMappings == null) ? null : new HashMap(v.sourceMappings);
    this.potentialConflictClasses = v.potentialConflictClasses;
    this.knownClasses = (v.knownClasses == null) ? null : new HashMap(v.knownClasses);
  }

  public Map sourceMappings() {
    if (this.sourceMappings == null) {
      this.sourceMappings = new HashMap();
    }
    return sourceMappings;
  }

  public CheckerStateBuilder sourceMappings(Map sourceMappings) {
    if (sourceMappings == null) {
      throw new NullPointerException("sourceMappings");
    }
    for (Map.Entry entry : sourceMappings.entrySet()) {
      if (entry.getKey() == null) {
        throw new NullPointerException("sourceMappings: null key");
      }
      if (entry.getValue() == null) {
        throw new NullPointerException("sourceMappings: null value");
      }
    }
    this.sourceMappings = new HashMap(sourceMappings);
    return this;
  }

  public CheckerStateBuilder sourceMappings(ClassTypeDescriptor k1, ArtifactName v1) {
    if (k1 == null) {
      throw new NullPointerException("sourceMappings: k1");
    }
    if (v1 == null) {
      throw new NullPointerException("sourceMappings: v1");
    }
    sourceMappings = new HashMap();
    sourceMappings.put(k1, v1);
    return this;
  }

  public CheckerStateBuilder sourceMappings(ClassTypeDescriptor k1, ArtifactName v1, ClassTypeDescriptor k2, ArtifactName v2) {
    sourceMappings(k1, v1);
    if (k2 == null) {
      throw new NullPointerException("sourceMappings: k2");
    }
    if (v2 == null) {
      throw new NullPointerException("sourceMappings: v2");
    }
    sourceMappings.put(k2, v2);
    return this;
  }

  public CheckerStateBuilder sourceMappings(ClassTypeDescriptor k1, ArtifactName v1, ClassTypeDescriptor k2, ArtifactName v2, ClassTypeDescriptor k3, ArtifactName v3) {
    sourceMappings(k1, v1, k2, v2);
    if (k3 == null) {
      throw new NullPointerException("sourceMappings: k3");
    }
    if (v3 == null) {
      throw new NullPointerException("sourceMappings: v3");
    }
    sourceMappings.put(k3, v3);
    return this;
  }

  public CheckerStateBuilder sourceMappings(ClassTypeDescriptor k1, ArtifactName v1, ClassTypeDescriptor k2, ArtifactName v2, ClassTypeDescriptor k3, ArtifactName v3, ClassTypeDescriptor k4, ArtifactName v4) {
    sourceMappings(k1, v1, k2, v2, k3, v3);
    if (k4 == null) {
      throw new NullPointerException("sourceMappings: k4");
    }
    if (v4 == null) {
      throw new NullPointerException("sourceMappings: v4");
    }
    sourceMappings.put(k4, v4);
    return this;
  }

  public CheckerStateBuilder sourceMappings(ClassTypeDescriptor k1, ArtifactName v1, ClassTypeDescriptor k2, ArtifactName v2, ClassTypeDescriptor k3, ArtifactName v3, ClassTypeDescriptor k4, ArtifactName v4, ClassTypeDescriptor k5, ArtifactName v5) {
    sourceMappings(k1, v1, k2, v2, k3, v3, k4, v4);
    if (k5 == null) {
      throw new NullPointerException("sourceMappings: k5");
    }
    if (v5 == null) {
      throw new NullPointerException("sourceMappings: v5");
    }
    sourceMappings.put(k5, v5);
    return this;
  }

  public CheckerStateBuilder putSourceMapping(ClassTypeDescriptor key, ArtifactName value) {
    if (key == null) {
      throw new NullPointerException("sourceMapping: key");
    }
    if (value == null) {
      throw new NullPointerException("sourceMapping: value");
    }
    if (this.sourceMappings == null) {
      this.sourceMappings = new HashMap();
    }
    sourceMappings.put(key, value);
    return this;
  }

  public Optional> potentialConflictClasses() {
    return potentialConflictClasses;
  }

  public CheckerStateBuilder potentialConflictClasses(Set potentialConflictClasses) {
    return potentialConflictClasses(Optional.ofNullable(potentialConflictClasses));
  }

  public CheckerStateBuilder potentialConflictClasses(Optional> potentialConflictClasses) {
    if (potentialConflictClasses == null) {
      throw new NullPointerException("potentialConflictClasses");
    }
    this.potentialConflictClasses = (Optional>)potentialConflictClasses;
    return this;
  }

  public Map knownClasses() {
    if (this.knownClasses == null) {
      this.knownClasses = new HashMap();
    }
    return knownClasses;
  }

  public CheckerStateBuilder knownClasses(Map knownClasses) {
    if (knownClasses == null) {
      throw new NullPointerException("knownClasses");
    }
    for (Map.Entry entry : knownClasses.entrySet()) {
      if (entry.getKey() == null) {
        throw new NullPointerException("knownClasses: null key");
      }
      if (entry.getValue() == null) {
        throw new NullPointerException("knownClasses: null value");
      }
    }
    this.knownClasses = new HashMap(knownClasses);
    return this;
  }

  public CheckerStateBuilder knownClasses(ClassTypeDescriptor k1, DeclaredClass v1) {
    if (k1 == null) {
      throw new NullPointerException("knownClasses: k1");
    }
    if (v1 == null) {
      throw new NullPointerException("knownClasses: v1");
    }
    knownClasses = new HashMap();
    knownClasses.put(k1, v1);
    return this;
  }

  public CheckerStateBuilder knownClasses(ClassTypeDescriptor k1, DeclaredClass v1, ClassTypeDescriptor k2, DeclaredClass v2) {
    knownClasses(k1, v1);
    if (k2 == null) {
      throw new NullPointerException("knownClasses: k2");
    }
    if (v2 == null) {
      throw new NullPointerException("knownClasses: v2");
    }
    knownClasses.put(k2, v2);
    return this;
  }

  public CheckerStateBuilder knownClasses(ClassTypeDescriptor k1, DeclaredClass v1, ClassTypeDescriptor k2, DeclaredClass v2, ClassTypeDescriptor k3, DeclaredClass v3) {
    knownClasses(k1, v1, k2, v2);
    if (k3 == null) {
      throw new NullPointerException("knownClasses: k3");
    }
    if (v3 == null) {
      throw new NullPointerException("knownClasses: v3");
    }
    knownClasses.put(k3, v3);
    return this;
  }

  public CheckerStateBuilder knownClasses(ClassTypeDescriptor k1, DeclaredClass v1, ClassTypeDescriptor k2, DeclaredClass v2, ClassTypeDescriptor k3, DeclaredClass v3, ClassTypeDescriptor k4, DeclaredClass v4) {
    knownClasses(k1, v1, k2, v2, k3, v3);
    if (k4 == null) {
      throw new NullPointerException("knownClasses: k4");
    }
    if (v4 == null) {
      throw new NullPointerException("knownClasses: v4");
    }
    knownClasses.put(k4, v4);
    return this;
  }

  public CheckerStateBuilder knownClasses(ClassTypeDescriptor k1, DeclaredClass v1, ClassTypeDescriptor k2, DeclaredClass v2, ClassTypeDescriptor k3, DeclaredClass v3, ClassTypeDescriptor k4, DeclaredClass v4, ClassTypeDescriptor k5, DeclaredClass v5) {
    knownClasses(k1, v1, k2, v2, k3, v3, k4, v4);
    if (k5 == null) {
      throw new NullPointerException("knownClasses: k5");
    }
    if (v5 == null) {
      throw new NullPointerException("knownClasses: v5");
    }
    knownClasses.put(k5, v5);
    return this;
  }

  public CheckerStateBuilder putKnownClass(ClassTypeDescriptor key, DeclaredClass value) {
    if (key == null) {
      throw new NullPointerException("knownClass: key");
    }
    if (value == null) {
      throw new NullPointerException("knownClass: value");
    }
    if (this.knownClasses == null) {
      this.knownClasses = new HashMap();
    }
    knownClasses.put(key, value);
    return this;
  }

  public CheckerState build() {
    Map _sourceMappings = (sourceMappings != null) ? Collections.unmodifiableMap(new HashMap(sourceMappings)) : Collections.emptyMap();
    Map _knownClasses = (knownClasses != null) ? Collections.unmodifiableMap(new HashMap(knownClasses)) : Collections.emptyMap();
    return new Value(_sourceMappings, potentialConflictClasses, _knownClasses);
  }

  public static CheckerStateBuilder from(CheckerState v) {
    return new CheckerStateBuilder(v);
  }

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

  private static final class Value implements CheckerState {
    private final Map sourceMappings;

    private final Optional> potentialConflictClasses;

    private final Map knownClasses;

    private Value(@AutoMatter.Field("sourceMappings") Map sourceMappings, @AutoMatter.Field("potentialConflictClasses") Optional> potentialConflictClasses, @AutoMatter.Field("knownClasses") Map knownClasses) {
      if (potentialConflictClasses == null) {
        throw new NullPointerException("potentialConflictClasses");
      }
      this.sourceMappings = (sourceMappings != null) ? sourceMappings : Collections.emptyMap();
      this.potentialConflictClasses = potentialConflictClasses;
      this.knownClasses = (knownClasses != null) ? knownClasses : Collections.emptyMap();
    }

    @AutoMatter.Field
    @Override
    public Map sourceMappings() {
      return sourceMappings;
    }

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

    @AutoMatter.Field
    @Override
    public Map knownClasses() {
      return knownClasses;
    }

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

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

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

    @Override
    public String toString() {
      return "CheckerState{" +
      "sourceMappings=" + sourceMappings +
      ", potentialConflictClasses=" + potentialConflictClasses +
      ", knownClasses=" + knownClasses +
      '}';
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy