blueice 发表于 2016-1-3 12:03:32

Apache Commons JEXL 3.0 发布

欢迎加入运维网交流群:263444886 »  
  Apache Commons JEXL 3.0 发布,此版本现已提供下载:
  https://commons.apache.org/jexl/download_jexl.cgi
  
  JEXL 3.0 是个重大版本,修改了公共 JEXL API;因为二进制和源代码的不兼容,JEXL 转移到了 org.apache.commons.jexl3 包,Maven artifactId 也改为 commons-jexl3。
  
  JEXL 3.0 现要求 Java 6。
  
  JEXL 3.0 主要改进
  ==================
  * A redesigned API that properly segregates the "public" part and the
  "internal" parts of JEXL.
  * A real difference between Expression and Script (scripts accept
  statements: for, while, etc).
  * The ability to create JEXL functions in script, closure/variables
  hoisting/currying included.
  * A set of assignment operators (+=, *= , ...).
  * A set of String matching operators (^= startsWith, $= endsWith) and
  their negative counterparts (!^, !$)
  * A range operator (x .. y) to ease writing loops (for(var x : 1 .. 10))
  * A literal set syntax to ease creating sets: { 1, 2...}
  
  新特性
  ====================
  * JEXL-178: 'Unsolvable property' message to provide details about
  underlying exception
  * JEXL-177: Unified expressions to be used in String literals in JEXL
  scripts
  * JEXL-176: Synonym operator name 'in' for operator =~ // Remove
  'foreach...in' syntax
  * JEXL-174: Overloadable property access operators
  * JEXL-173: Duck-typed java closures
  * JEXL-170: Implement assignment operators
  * JEXL-164: public getters for high/low properties for IntegerRange and
  LongRange
  * JEXL-152: Extend Range literal to support Long values
  * JEXL-149: Set Construction as per EL 3.0 spec
  * JEXL-133: String matching Operator short-hand inspired by CSS3
  * JEXL-128: ObjectContext should implement NamespaceResolver
  * JEXL-127: Allow the creation of functions
  * JEXL-123: Redesign API for stability
  * JEXL-122: Move JEXL from org.apache.comms.jexl2 to
  org.apache.commons.jexl3
  * JEXL-136: Script calls within scripts may fail with number arguments
  * JEXL-135: Using map as script parameter or local variable
  * JEXL-134: Issue with evaluation of concat of variables : \r + \n gives 0
  * JEXL-131: UnifiedJexl parsing may fail with NPE
  * JEXL-130: Ternary Conditional fails for Object values
  * JEXL-126: Decimal numbers literals should be 'double' by default
  (instead of 'float')
  
  Bugs 修复
  ==================

  * JEXL-184: dot-ed>  * JEXL-180: Documentation - suggests using float for financials
  * JEXL-171: Map access operator does not work if key name clashes with
  map property name

  * JEXL-169: A string is wrongly>  * JEXL-168: Dedicated operator for String concatenation
  * JEXL-79:  Add support for growable arrays (ArrayLists)
  * JEXL-167: Possible loss of value when converting BigDecimal to BigInteger
  * JEXL-166: Incorrect operator symbol for bitwise complement in
  jexlArithmetic
  * JEXL-163: empty(new ("java.lang.Long", 4294967296)) returns true
  * JEXL-162: empty() function throws an exception : unsupported type
  * JEXL-160: typo in package.html
  * JEXL-158: Handle locale decimal separators correctly
  * JEXL-157: Replace File.pathSeparator with File.separator
  * JEXL-146: Performance problem in Interpreter.unknownVariable mechanism

  * JEXL-145: Sandbox calling wrong check (classname vs>  * JEXL-144: Empty array property setting fails
  * JEXL-142: Map expression issue with empty key
  * JEXL-141: Suffix for Big Decimal and Big Integer Literal is
  incorrectly mentioned in Java docs
  * JEXL-137: Invalid script variable list for nested array/map access
  
  改进列表:
  http://commons.apache.org/jexl/changes-report.html
  JavaExpression Language (JEXL) 是一个表达式语言引擎,可以用来在应用或者框架中使用。JEXL 受Velocity和JSP 标签库 1.1 (JSTL) 的影响而产生的。需要注意的是, JEXL 并不时 JSTL 中的表达式语言的实现。
页: [1]
查看完整版本: Apache Commons JEXL 3.0 发布