#1649 - ENH: Add optional length() attribute to @DbEnumValue

This commit is contained in:
rob bygrave
2019-03-12 14:31:44 +13:00
parent bfeb0cd667
commit 9ded3890d7
3 changed files with 5 additions and 6 deletions
@@ -663,11 +663,10 @@ public final class DefaultTypeManager implements TypeManager {
DbEnumValue dbValue = AnnotationUtil.findAnnotation(method, DbEnumValue.class);
if (dbValue != null) {
boolean integerValues = DbEnumType.INTEGER == dbValue.storage();
return createEnumScalarTypeDbValue(enumType, method, integerValues);
return createEnumScalarTypeDbValue(enumType, method, integerValues, dbValue.length());
}
}
// look for EnumValue annotations instead
return createEnumScalarType2(enumType);
}
@@ -678,7 +677,7 @@ public final class DefaultTypeManager implements TypeManager {
* Return null if the EnumValue annotations are not present/used.
* </p>
*/
private ScalarTypeEnum<?> createEnumScalarTypeDbValue(Class<? extends Enum<?>> enumType, Method method, boolean integerType) {
private ScalarTypeEnum<?> createEnumScalarTypeDbValue(Class<? extends Enum<?>> enumType, Method method, boolean integerType, int length) {
Map<String, String> nameValueMap = new LinkedHashMap<>();
@@ -696,7 +695,7 @@ public final class DefaultTypeManager implements TypeManager {
return null;
}
return createEnumScalarType(enumType, nameValueMap, integerType, 0);
return createEnumScalarType(enumType, nameValueMap, integerType, length);
}
/**