[ 
https://issues.apache.org/jira/browse/SIS-91?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Martin Desruisseaux updated SIS-91:
-----------------------------------
    Fix Version/s:     (was: 0.5)

> Addition to the developer guide for metadata
> --------------------------------------------
>
>                 Key: SIS-91
>                 URL: https://issues.apache.org/jira/browse/SIS-91
>             Project: Spatial Information Systems
>          Issue Type: Improvement
>          Components: Documentation
>            Reporter: Martin Desruisseaux
>            Assignee: Martin Desruisseaux
>            Priority: Minor
>
> The developer guide needs to be expanded with the following items:
> * The four levels of documentation: members, types, packages, modules (APT 
> pages).
> * Class name policy ({{Abstract}}, {{Default}}, {{General}}, {{Immutable}}).
> * A note about unions (in the C/C++ sense): sometime simulated by a set of 
> getter methods where exactly one method can return a non-null value.
> * Collections are modifiable by default. But the getter methods are not 
> guaranteed to return the same instance after other methods of the same 
> instance have been invoked, or after the metadata has been marshalled. In 
> addition, collection may sometime be {{null}} instead of empty if the 
> collection is a property of an union (see above) where an other property is 
> defined.
> * The {{castOrCopy}} methods, found in metadata, referencing, _etc_.
> * Convenience constructors in metadata object. Their arguments are the 
> mandatory properties of the metadata object, and the argument types are often 
> simpler than the corresponding setter method (singleton, {{CharSequence}} 
> instead of {{InternationalString}}).
> * Policy about {{null}} argument value: often accepted in the following 
> contexts:
> ** The value of an optional property. Very common in metadata objects.
> ** In static method calculating a value from the given argument, without 
> changing the state of any object. In such case, the value returned by that 
> method will often be {{null}} as well. This is very similar to {{NaN}} number 
> in {{java.lang.Math}} functions.
> ** Collections may sometime be null if the collection is a member of an union 
> (see above) and a value is already defined for an other type.
> * Possibility to specify the reason why a metadata element is null, with 
> {{NilReason.createNilObject(Class)}}.
> * Unified identifiers view ({{IdentifierMap}}).
> * See documentation in {{sis-metadata/src/site/index.apt}} for more.



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

Reply via email to