GitHub user stain opened a pull request:
https://github.com/apache/incubator-commonsrdf/pull/27
COMMONSRDF-47 RDFSyntax as an interface
[COMMONSRDF-47](https://issues.apache.org/jira/browse/COMMONSRDF-47)
RDFSyntax as an interface, with OfficialRDFSyntax is the enum - which
implements the interface
basically .mediaType -> .mediaType() etc
One problem is that you can't override `.equals()` on an enum - and
presumably it might be useful to compare if two RDFSyntaxes are the same?
Do we need to add our own `.equals()` and `.hashCode()` contract here as
well (using `mediaType()`) and get rid of the enum?
we will also have to tweak the japicmp config as it (rightfully) complains
about `RDFSyntax` changing its signature since 0.2.0, e.g.
```
***! MODIFIED INTERFACE (<- ENUM) : PUBLIC ABSTRACT (<- NON_ABSTRACT)
NON_FINAL (<- FINAL) org.apache.commons.rdf.api.RDFSyntax (class type modified)
---* REMOVED INTERFACE: java.lang.Comparable
---* REMOVED INTERFACE: java.io.Serializable
***! MODIFIED SUPERCLASS: java.lang.Object (<- java.lang.Enum)
***! MODIFIED FIELD: PUBLIC STATIC FINAL
org.apache.commons.rdf.api.RDFSyntax$OfficialRDFSyntax (<-
org.apache.commons.rdf.api.RDFSyntax) RDFA_XHTML
***! MODIFIED FIELD: PUBLIC STATIC FINAL
org.apache.commons.rdf.api.RDFSyntax$OfficialRDFSyntax (<-
org.apache.commons.rdf.api.RDFSyntax) NQUADS
***! MODIFIED FIELD: PUBLIC STATIC FINAL
org.apache.commons.rdf.api.RDFSyntax$OfficialRDFSyntax (<-
org.apache.commons.rdf.api.RDFSyntax) RDFA_HTML
---! REMOVED FIELD: PUBLIC(-) FINAL(-) java.lang.String mediaType
---! REMOVED FIELD: PUBLIC(-) FINAL(-) boolean supportsDataset
***! MODIFIED FIELD: PUBLIC STATIC FINAL
org.apache.commons.rdf.api.RDFSyntax$OfficialRDFSyntax (<-
org.apache.commons.rdf.api.RDFSyntax) RDFXML
---! REMOVED FIELD: PUBLIC(-) FINAL(-) java.lang.String
fileExtension
***! MODIFIED FIELD: PUBLIC STATIC FINAL
org.apache.commons.rdf.api.RDFSyntax$OfficialRDFSyntax (<-
org.apache.commons.rdf.api.RDFSyntax) TURTLE
***! MODIFIED FIELD: PUBLIC STATIC FINAL
org.apache.commons.rdf.api.RDFSyntax$OfficialRDFSyntax (<-
org.apache.commons.rdf.api.RDFSyntax) NTRIPLES
***! MODIFIED FIELD: PUBLIC STATIC FINAL
org.apache.commons.rdf.api.RDFSyntax$OfficialRDFSyntax (<-
org.apache.commons.rdf.api.RDFSyntax) TRIG
***! MODIFIED FIELD: PUBLIC STATIC FINAL
org.apache.commons.rdf.api.RDFSyntax$OfficialRDFSyntax (<-
org.apache.commons.rdf.api.RDFSyntax) JSONLD
+++* NEW METHOD: PUBLIC(+) ABSTRACT(+) java.lang.String
fileExtension()
+++* NEW METHOD: PUBLIC(+) ABSTRACT(+) java.lang.String mediaType()
+++* NEW METHOD: PUBLIC(+) ABSTRACT(+) java.lang.String name()
+++* NEW METHOD: PUBLIC(+) ABSTRACT(+) boolean supportsDataset()
+++* NEW METHOD: PUBLIC(+) ABSTRACT(+) java.lang.String title()
--- REMOVED METHOD: PUBLIC(-) java.lang.String toString()
---! REMOVED METHOD: PUBLIC(-) STATIC(-)
org.apache.commons.rdf.api.RDFSyntax valueOf(java.lang.String)
---! REMOVED METHOD: PUBLIC(-) STATIC(-)
org.apache.commons.rdf.api.RDFSyntax[] values()
```
My suggestion is to delay this till past 0.3.0, as we're not settling
`RDFParser` now anyway.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/apache/incubator-commonsrdf COMMONSRDF-47
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/incubator-commonsrdf/pull/27.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #27
----
commit ee725a5aaf5d94c9ab5ff7f355bb5d0cb370bfa7
Author: Stian Soiland-Reyes <[email protected]>
Date: 2016-10-28T15:34:49Z
COMMONSRDF-47 RDFSyntax as an interface
OfficialRDFSyntax is the enum - which implements the interface
basically .mediaType -> .mediaType() etc
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---