package com.celements.model.classes; import javax.inject.Singleton; import org.xwiki.component.annotation.Component; import org.xwiki.model.reference.DocumentReference; import com.celements.model.classes.fields.BooleanField; import com.celements.model.classes.fields.ClassField; import com.celements.model.classes.fields.StringField; import com.celements.model.classes.fields.number.IntField; import com.celements.model.classes.fields.ref.DocumentReferenceField; @Singleton @Component(TestClassDefinition.NAME) public class TestClassDefinition extends AbstractClassDefinition implements TestClassDefinitionRole { public static final String NAME = "Test.TestClass"; public static final DocumentReference CLASS_REF = new DocumentReference("db", "classes", "test"); public static final ClassField<String> FIELD_MY_STRING = getFieldMyString(); public static final ClassField<Integer> FIELD_MY_INT = getFieldMyInt(); public static final ClassField<Boolean> FIELD_MY_BOOL = getFieldMyBool(); public static final ClassField<DocumentReference> FIELD_MY_DOCREF = getFieldMyDocRef(); @Override public String getName() { return NAME; } @Override protected DocumentReference getClassRefInternal() { return CLASS_REF; } @Override public boolean isInternalMapping() { return true; } private static ClassField<String> getFieldMyString() { return new StringField.Builder(CLASS_REF, "myString").size(30).build(); } private static ClassField<Integer> getFieldMyInt() { return new IntField.Builder(CLASS_REF, "myInt").size(30).build(); } private static ClassField<Boolean> getFieldMyBool() { return new BooleanField.Builder(CLASS_REF, "myBool").displayType("asdf").build(); } private static ClassField<DocumentReference> getFieldMyDocRef() { return new DocumentReferenceField.Builder(CLASS_REF, "myDocRef").size(30).build(); } }