public PropertyType getDataType() { return PropertyType.fromId(dataType); }
public void setDataType(PropertyType dataType) { this.dataType = dataType != null ? dataType.getId() : null; }
@Override public String getId() { return name(); }
@Nullable public Field createField(Datasource datasource, MetaProperty property) { if (DynamicAttributesUtils.isDynamicAttribute(property)) { CategoryAttribute attribute = DynamicAttributesUtils.getCategoryAttribute(property); if (attribute.getDataType().equals(PropertyType.ENUMERATION)) { return createEnumField(datasource, property); } else if (attribute.getIsCollection()) { return createListEditorField(datasource, property); } } if (property.getRange().isDatatype()) { Class type = property.getRange().asDatatype().getJavaClass(); if (type.equals(String.class)) { return createStringField(datasource, property); } else if (type.equals(Boolean.class)) { return createBooleanField(datasource, property); } else if (type.equals(java.sql.Date.class) || type.equals(Date.class)) { return createDateField(datasource, property); } else if (type.equals(Time.class)) { return createTimeField(datasource, property); } else if (Number.class.isAssignableFrom(type)) { return createNumberField(datasource, property); } } else if (property.getRange().isClass()) { return createEntityField(datasource, property); } else if (property.getRange().isEnum()) { return createEnumField(datasource, property); } return null; }
CategoryAttribute categoryAttribute = DynamicAttributesUtils.getCategoryAttribute(property); if (categoryAttribute.getDataType().equals(PropertyType.ENUMERATION)) { return LocaleHelper.getEnumLocalizedValue((String) value, categoryAttribute.getEnumerationLocales());
StringUtils.capitalize(attribute.getName())); if (attribute.getDataType().equals(PropertyType.STRING)) { ClientConfig clientConfig = getConfiguration().getConfig(ClientConfig.class); column.setMaxTextLength(clientConfig.getDynamicAttributesTableColumnMaxTextLength()); if (attribute.getDataType().equals(PropertyType.ENUMERATION)) { column.setFormatter(value -> LocaleHelper.getEnumLocalizedValue((String) value, attribute.getEnumerationLocales())
public Object getDefaultValue() { if (dataType != null) { switch (PropertyType.fromId(dataType)) { case INTEGER: return defaultInt; case DOUBLE: return defaultDouble; case BOOLEAN: return defaultBoolean; case DATE: return defaultDate; case STRING: return defaultString; case ENUMERATION: return defaultString; case ENTITY: return getObjectDefaultEntityId(); default: return null; } } return null; }