package org.molgenis.data.meta.model; import org.molgenis.data.meta.SystemEntityType; import org.springframework.stereotype.Component; import static org.molgenis.data.meta.AttributeType.TEXT; import static org.molgenis.data.meta.model.EntityType.AttributeRole.*; import static org.molgenis.data.meta.model.MetaPackage.PACKAGE_META; import static org.molgenis.data.meta.model.Package.PACKAGE_SEPARATOR; @Component public class TagMetadata extends SystemEntityType { private static final String SIMPLE_NAME = "Tag"; public static final String TAG = PACKAGE_META + PACKAGE_SEPARATOR + SIMPLE_NAME; public static final String ID = "id"; public static final String OBJECT_IRI = "objectIRI"; public static final String LABEL = "label"; public static final String RELATION_IRI = "relationIRI"; public static final String RELATION_LABEL = "relationLabel"; public static final String CODE_SYSTEM = "codeSystem"; TagMetadata() { super(SIMPLE_NAME, PACKAGE_META); } @Override public void init() { setLabel("Tag"); setDescription("Semantic tags that can be applied to entities, attributes and other data"); addAttribute(ID, ROLE_ID).setLabel("Identifier"); addAttribute(OBJECT_IRI, ROLE_LOOKUP).setDataType(TEXT).setLabel("Object IRI"); addAttribute(LABEL, ROLE_LABEL, ROLE_LOOKUP).setNillable(false).setLabel("Label"); addAttribute(RELATION_IRI).setNillable(false).setLabel("Relation IRI"); addAttribute(RELATION_LABEL).setNillable(false).setLabel("Relation label"); addAttribute(CODE_SYSTEM).setLabel("Code system"); } }