Martin Desruisseaux created SIS-346:
---------------------------------------

             Summary: MetadataStandard.asValueMap(…) / asTreeTable(…) do not 
work if the argument implements more than one metadata interface
                 Key: SIS-346
                 URL: https://issues.apache.org/jira/browse/SIS-346
             Project: Spatial Information Systems
          Issue Type: Bug
          Components: Metadata
    Affects Versions: 0.7, 0.6, 0.5, 0.4, 0.3
            Reporter: Martin Desruisseaux
            Assignee: Martin Desruisseaux
             Fix For: 0.8


It is some time convenient to implement more than one interface by the same 
class. For example an implementation interested only in extents defined by 
geographic bounding boxes could implement 
{{org.opengis.metadata.extent.Extent}} and 
{{org.opengis.metadata.extent.GeographicBoundingBox}} by the same class. 
However in such cases, we get an ambiguity that prevent most 
{{StandardMetadata}} methods to work. For resolving the ambiguity, we need to 
tell which interface to reflect. This information is often known since the 
metadata is often a return value of some getter methods, so we can use the 
return type of the getter method for filtering the interface of interest among 
the set of interfaces implemented by the value.

Example: if {{getExtent()}} and {{getGeographicBoundingBox()}} both return the 
same instance, but in the first case the method signature declare {{Extent}} as 
the return value and in the second case declare {{GeographicBoundingBox}} as 
the return value, we can use that information for showing only the relevant 
nodes in a metadata tree.




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to