Martin Desruisseaux created SIS-90:
--------------------------------------

             Summary: Metadata objects should use EnumSet and CodeListSet when 
appropriate
                 Key: SIS-90
                 URL: https://issues.apache.org/jira/browse/SIS-90
             Project: Spatial Information Systems
          Issue Type: Improvement
          Components: Metadata
            Reporter: Martin Desruisseaux
            Priority: Minor
             Fix For: 0.3


{{ModifiableMetadata}} selects the appropriate collection type for a given 
element type by invoking the protected {{collectionType(Class)}} method. 
Current implementation returns only {{List.class}} or {{Set.class}}. 
Consequently {{HashSet}} is used for all {{Enum}} and {{CodeList}} collections.

The {{EnumSet}} and {{CodeListSet}} are more efficient (more compact and 
presumed faster) implementations of {{Set}} for enumerations and code lists, so 
they should be used. Note that since {{EnumSet}} is mutable, we will need to 
clone it before to return such set from a unmodifiable metadata.

We could also move {{collectionType(Class)}} method from {{ModifiableMetadata}} 
to {{StandardMetadata}} instead, in order to control the collection type policy 
in a single place instead than for each metadata object.


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to