sling-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jason E Bailey (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (SLING-7934) Add the ability for a resource to adapt to a JSONObject
Date Wed, 14 Nov 2018 17:59:00 GMT

    [ https://issues.apache.org/jira/browse/SLING-7934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16686926#comment-16686926
] 

Jason E Bailey commented on SLING-7934:
---------------------------------------

I tend to have long conversations in my head and then come out with a statement that has a
fully reasoned path that no one else follows. That's relevant here and I'm working on it.
I wouldn't go with the .getJSONType() Because it's too specific to JSON and there's a part
of me that bulks at doing a double lookup in a map, one to find the object and then another
to get it's type. The problem comes back to is that a Map<String,Object> is really wider
then what we use or need. From a resource perspective the value is either a String, Number,
Boolean, or an Instant/Calendar object with array support. 

So my own stupid proposal would be, that if I had to change the ValueMap object I would rather
change it to a Map<String,ResourceValue> which most people would never notice, because
they are requesting a specific class type when they do their get. The change, however, would
be really useful to anyone who needs to introspect the value type during processing.

You could then do things such as 
ResourceValue.isArray()
ResourceValue.getType() <- prefer an enum here
ResourceValue.getOriginalType()
ResourceValue.getValue()

 

Though that could be implemented as part of existing interface as a supported type that internal
conversions handle. meaning that it stays <Map,Object> but you could just do a .get(mykey,
ResourceValue.class). Of course now I just typed all of this and I just had this moment of
"woah" cause we could probably do .get(myKey,JsonValue.class) as well and then you would have
to go through half the work that you otherwise would need to,.

 

> Add the ability for a resource to adapt to a JSONObject
> -------------------------------------------------------
>
>                 Key: SLING-7934
>                 URL: https://issues.apache.org/jira/browse/SLING-7934
>             Project: Sling
>          Issue Type: Improvement
>            Reporter: Jason E Bailey
>            Assignee: Jason E Bailey
>            Priority: Major
>
> There are multiple implementations all doing the same process of converting a resource
to a JSONObject. If it's that common we should just add the ability to adapt the resource
and centralize the implementation so that it's consistent.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message