package com.celements.model.classes.fields;
import javax.annotation.Nullable;
import javax.annotation.concurrent.Immutable;
import javax.validation.constraints.NotNull;
import org.xwiki.model.reference.DocumentReference;
import com.xpn.xwiki.objects.classes.PropertyClass;
import com.xpn.xwiki.objects.classes.StringClass;
@Immutable
public final class TestClassField extends AbstractClassField<TestClassField> {
private final Integer size;
public static class Builder extends AbstractClassField.Builder<Builder, TestClassField> {
private Integer size;
public Builder(@NotNull DocumentReference classRef, @NotNull String name) {
super(classRef, name);
}
@Override
public Builder getThis() {
return this;
}
public Builder size(@Nullable Integer val) {
size = val;
return this;
}
@Override
public TestClassField build() {
return new TestClassField(this);
}
}
protected TestClassField(@NotNull Builder builder) {
super(builder);
this.size = builder.size;
}
public Integer getSize() {
return size;
}
@Override
public Class<TestClassField> getType() {
return TestClassField.class;
}
@Override
protected PropertyClass getPropertyClass() {
return new StringClass();
}
}