sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Desruisseaux (JIRA)" <>
Subject [jira] [Updated] (SIS-91) Addition to the developer guide for metadata
Date Tue, 03 Feb 2015 21:21:37 GMT


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

> Addition to the developer guide for metadata
> --------------------------------------------
>                 Key: SIS-91
>                 URL:
>             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
> * 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

View raw message