Skip to content

Commit

Permalink
clean(core): Address TODO in ThingObjectClassConverter
Browse files Browse the repository at this point in the history
  • Loading branch information
vorburger committed Jun 22, 2024
1 parent 64abfdb commit ae2e031
Showing 1 changed file with 8 additions and 6 deletions.
14 changes: 8 additions & 6 deletions java/dev/enola/thing/ThingObjectClassConverter.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,20 +19,22 @@

import dev.enola.common.convert.*;

// TODO Make this extensible? E.g. using ServiceLoader.
class ThingObjectClassConverter extends ObjectClassConverterChain {

static ObjectClassConverter INSTANCE = new ThingObjectClassConverter();

private ThingObjectClassConverter() {
// TODO Auto-discover Converters; e.g. with ServiceLoader #extensibility
super(
new IdentityObjectClassConverter(),
new ObjectConverter<>(Link.class, String.class, link -> link.iri()),
new ObjectConverter<>(LangString.class, String.class, in -> in.text()),
// TODO Following is all wrong, and only works by chance, because it's last...
// ObjectToStringBiConverters must be fixed to consider the type, before toString!
// If PredicatesObjects getOptional() would use the Datatype, we wouldn't need this!
ObjectToStringBiConverters.INSTANT);
// TODO Auto-discover ObjectToStringBiConverters.BOOLEAN, .INT, .URI, .LOCAL_DATE ?
// If PredicatesObjects getOptional() would use the Datatype, we wouldn't need this:
ObjectToStringBiConverters.BOOLEAN,
ObjectToStringBiConverters.INT,
ObjectToStringBiConverters.INSTANT,
ObjectToStringBiConverters.LOCAL_DATE,
ObjectToStringBiConverters.URI,
ObjectToStringBiConverters.STRING);
}
}

0 comments on commit ae2e031

Please sign in to comment.