package foo;
import io.norberg.automatter.AutoMatter;
import javax.annotation.Generated;
@Generated("io.norberg.automatter.processor.AutoMatterProcessor")
public final class DefaultMethodsBuilder {
private String foo;
public DefaultMethodsBuilder() {
}
private DefaultMethodsBuilder(DefaultMethods v) {
this.foo = v.foo();
}
private DefaultMethodsBuilder(DefaultMethodsBuilder v) {
this.foo = v.foo;
}
public String foo() {
return foo;
}
public DefaultMethodsBuilder foo(String foo) {
if (foo == null) {
throw new NullPointerException("foo");
}
this.foo = foo;
return this;
}
public DefaultMethods build() {
return new Value(foo);
}
public static DefaultMethodsBuilder from(DefaultMethods v) {
return new DefaultMethodsBuilder(v);
}
public static DefaultMethodsBuilder from(DefaultMethodsBuilder v) {
return new DefaultMethodsBuilder(v);
}
private static final class Value implements DefaultMethods {
private final String foo;
private Value(@AutoMatter.Field("foo") String foo) {
if (foo == null) {
throw new NullPointerException("foo");
}
this.foo = foo;
}
@AutoMatter.Field
@Override
public String foo() {
return foo;
}
public DefaultMethodsBuilder builder() {
return new DefaultMethodsBuilder(this);
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (!(o instanceof DefaultMethods)) {
return false;
}
final DefaultMethods that = (DefaultMethods) o;
if (foo != null ? !foo.equals(that.foo()) : that.foo() != null) {
return false;
}
return true;
}
@Override
public int hashCode() {
int result = 1;
long temp;
result = 31 * result + (this.foo != null ? this.foo.hashCode() : 0);
return result;
}
@Override
public String toString() {
return "DefaultMethods{" +
"foo=" + foo +
'}';
}
}
}