There are use cases where it is needed to be abel to specifiy Properties in properties services with wildcards to address a whole set of (potentially yet unkown) properties.
One concrete use case is the handling of DICOM information as properties. I case of sequence elements we will have several properties (prop[0], prop[1], prop[n]) that should all be adressed (e.g. prop[*]).
Todo:
- standardize the syntax of sequenze adressing and implement helper classes to generate, parse and verify valid property names that regard this syntax.
- extend the PropertyServices to also support this wildcarded property names.
Proposal for the syntax would be close to DCMTK tag pathes and to the visualization style of the workbench property view.
Names/pathsegments are seperated by ".". If a segment has multiple values (is a sequence of items), the items must be selected/differentiated by an index/array selector in square bracket "[n]". The segment name can be wild carded with "*" as well as the index selector.
Examples:
"propA" will select the normal property propA.
"propB[1]" will select the first item of propB. PropB is assumed to be a sequence of items.
"*.propC" will select every property propC, no matter what comes before.
"propA.propD[*]" will select every item of property propD that is "child" of propA.