package org.molgenis.data.i18n.model; import org.molgenis.data.meta.SystemEntityType; import org.springframework.stereotype.Component; import static org.molgenis.data.meta.AttributeType.BOOL; import static org.molgenis.data.meta.model.EntityType.AttributeRole.ROLE_ID; import static org.molgenis.data.meta.model.Package.PACKAGE_SEPARATOR; import static org.molgenis.data.system.model.RootSystemPackage.PACKAGE_SYSTEM; @Component public class LanguageMetadata extends SystemEntityType { private static final String SIMPLE_NAME = "Language"; public static final String LANGUAGE = PACKAGE_SYSTEM + PACKAGE_SEPARATOR + SIMPLE_NAME; public static final String CODE = "code"; public static final String NAME = "name"; public static final String ACTIVE = "active"; LanguageMetadata() { super(SIMPLE_NAME, PACKAGE_SYSTEM); } @Override public void init() { setLabel("Language"); setDescription("Web application languages"); // 2 or 3 characters, alphanumeric, lowercase addAttribute(CODE, ROLE_ID).setDescription("Lowercase ISO 639 alpha-2 or alpha-3 code") .setValidationExpression("/^[a-z]{2,3}$/.test($('code').value())"); addAttribute(NAME).setNillable(false); addAttribute(ACTIVE).setDataType(BOOL).setNillable(false); } }