[ 
https://issues.apache.org/jira/browse/TINKERPOP3-478?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Marko A. Rodriguez closed TINKERPOP3-478.
-----------------------------------------
    Resolution: Fixed

{{TraversalSideEffects}} now uses {{Optional}} on {{get()}}. This reduces the 
amount of code in {{TraversalSideEffects}} and makes it easy for Java8 people 
as its "just Optional." 

> Consider going full Optional semantics on TraversalSideEffects
> --------------------------------------------------------------
>
>                 Key: TINKERPOP3-478
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP3-478
>             Project: TinkerPop 3
>          Issue Type: Improvement
>          Components: process
>            Reporter: Marko A. Rodriguez
>            Assignee: Marko A. Rodriguez
>             Fix For: 3.0.0.GA
>
>
> Right now if you do {{TraversalSideEffects.get(key)}} and the value doesn't 
> exist, you get an exception. The reason we did this was that we don't want 
> {{null}} and we don't want {{Optional}} because users will interact with the 
> sideEffects via {{Traverser}}. For example:
> {code:java}
> g.V().out().map{it.sideEffects(it.get().value('age'))+1}
> {code}
> However, note that {{Traverser.sideEffects()}} is a helper method to the more 
> core {{Traverser.Admin.getSideEffects()}}. Thus, we can keep the non-Optional 
> "user friendly" {{Traverser.sideEffects(key)}} method that throws the 
> exception if the sideEffect doesn't exist. However, for vendors/developers, 
> {{Optional}} seems the better choice so people don't have to do the awkard 
> {{TraversalSideEffects.exists()}} method.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to