Replies: 3 comments 2 replies
-
Hello I thought that GitHub discussions were already enabled, aren't they?
There are cases where the set of values of a public static final AxisDirection MY_CUSTOM_DIRECTION = AxisDirection.valueOf("MyCustomDirection"); The fact that
UML annotations are not mandatory. They should be provided only when the code list value is derived from an OGC / ISO standard. If the code list value is a custom value, then it should not have UML annotation. The UML annotation purpose is documentation (point back to the international standard definition), but also for reflection. For example, the names used in Java may differ from the names used in OGC / ISO standard because GeoAPI adapts the API to Java conventions (e.g. constants in upper-case letters), while XML and JSON schemas use the names as defined by OGC / ISO standards. The UML annotations do the mapping between the two. A little bit like
|
Beta Was this translation helpful? Give feedback.
-
It is now enabled and showing in the tabs, thanks.
That is what I got so far, and felt it could simply be part of the JavaDoc - as usual simple is best!
No, I just felt this and some of the classes should not be part of an API, giving the developer the free hand to make choices.
Understood, and as I have said, my thought is the Providing too much in an API, restricts implementation choices that could make the GeoAPI less attractive. Thanks so much for the reply and for providing the information - I really appreciate it. |
Beta Was this translation helpful? Give feedback.
-
There is also a "but also for reflection" part. The need to map Java names to OGC/ISO standard names is important. It happens during parsing of XML or JSON documents, or even in URLs. Example: <cit:CI_RoleCode
codeList="http://standards.iso.org/iso/19115/resources/Codelist/cat/codelists.xml#CI_RoleCode"
codeListValue="originator"/> When an application receives such URL, it needs to know that
GeoAPI defines a set of classes for each language, witch each set adapted to the target language. We have Java (above discussion) and also a set of Python abstract classes under development, which sometime makes different choices. If we had a volunteer for deriving a set of C# interfaces, they would probably be slightly different than the Java ones.
It is not our choice. Whether a type is an
We indeed use interfaces everywhere it is possible. But in the particular case of code lists, we cannot provide the code list values defined by OGC/ISO standards without a concrete class. |
Beta Was this translation helpful? Give feedback.
-
Please, I just need information on
CodeList
, maybe you can enable the discussion forum for this type of "issues".CodeList<E>
so far in the repository seem to befinal
. Is there any current case of an implementation of theCodeList
being further extended in the repository?CodeList
?It seems the basic idea of enumerations being lightweight objects is completely gone in the
CodeList
implementations.Beta Was this translation helpful? Give feedback.
All reactions