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

Martin Desruisseaux updated SIS-91:
-----------------------------------

    Description: 
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.


  was:
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}}).
* 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.
* 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.
* 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.


    
> 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
>             Fix For: 0.3
>
>
> 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 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