package com.celements.model.classes; import java.util.List; import org.xwiki.component.annotation.ComponentRole; import org.xwiki.model.reference.DocumentReference; import org.xwiki.model.reference.WikiReference; import com.celements.model.classes.fields.ClassField; @ComponentRole public interface ClassDefinition { public static final String CFG_SRC_KEY = "celements.classdefinition.blacklist"; /** * @return the name of the component and class definition, used for blacklisting */ public String getName(); /** * @return the document reference on which the class is defined, using current wiki */ public DocumentReference getClassRef(); /** * @param wikiRef * @return the document reference on which the class is defined, using given wiki */ public DocumentReference getClassRef(WikiReference wikiRef); /** * @return true if the class definition is blacklisted */ public boolean isBlacklisted(); /** * @return true if the class is mapped internally (hibernate mapping) */ public boolean isInternalMapping(); /** * @return a list of all fields defining this class */ public List<ClassField<?>> getFields(); }