[ https://issues.apache.org/jira/browse/CAMEL-7831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14635183#comment-14635183 ]
christian ohr commented on CAMEL-7831: -------------------------------------- Predicate and Processor can be implemented with lambdas or function references, but Expressions cannot. Lambdas can only implement an interface fully known at compile-time, but Expression#evaluate is generic. > create a java8 only demo showing how to use lambda expressions for Predicate > / Expression inside the Java DSL (using Message as a typesafe parameter) > ----------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: CAMEL-7831 > URL: https://issues.apache.org/jira/browse/CAMEL-7831 > Project: Camel > Issue Type: New Feature > Components: examples > Reporter: james strachan > Fix For: 2.16.0 > > > e.g. so folks can type things like > {code} > from("seda:cheese"). > filter(m -> m.getHeader("foo", int.class) > 5). > map(m -> createPurchaseOrder(m.getBody(Invoice.class)). > to("seda:bar"); > {code} > Note if the current Predicate/Expression classes don't work as lambdas we > could add a new interface with a single method to the DSL to ensure Java 8 > does the right thing with lambdas -- This message was sent by Atlassian JIRA (v6.3.4#6332)