- if (type instanceof ExtendedType) {
- final ExtendedType ext = (ExtendedType)type;
- length = ext.getLengthConstraints();
- pattern = ext.getPatternConstraints();
-
- // Interesting special-case...
- List<RangeConstraint> tmp = ext.getRangeConstraints();
- if (tmp.isEmpty()) {
- final TypeDefinition<?> base = ext.getBaseType();
- if (base instanceof IntegerTypeDefinition) {
- tmp = ((IntegerTypeDefinition)base).getRangeConstraints();
- } else if (base instanceof UnsignedIntegerTypeDefinition) {
- tmp = ((UnsignedIntegerTypeDefinition)base).getRangeConstraints();
- } else if (base instanceof DecimalTypeDefinition) {
- tmp = ((DecimalTypeDefinition)base).getRangeConstraints();
- }
- }
-
- range = tmp;
- } else if (type instanceof BinaryTypeDefinition) {