Hi,
While working on property value constraints I stumbled on the following:
[nt:propertyDefinition]
...
- jcr:requiredType (STRING) protected mandatory
< 'STRING', 'URI', 'BINARY', 'LONG', 'DOUBLE',
'DECIMAL', 'BOOLEAN', 'DATE', 'NAME', 'PATH',
'REFERENCE', 'WEAKREFERENCE', 'UNDEFINED'
The type names are defined in javax.jcr.PropertyType. For example
TYPENAME_STRING = "String";
Now JSR-283 says about string constraints (3.7.3.6.1): "For STRING and
URI properties, the constraint string is a regular expression pattern
according to the syntax of java.util.regex.Pattern."
So jcr:requiredType can be for example "STRING" but not "String". The
former however results in an IllegalArgumentException when passed to
PropertyType.valueFromName().
Michael