Package com.google.clearsilver.jsilver.values

Examples of com.google.clearsilver.jsilver.values.Value


* X == Y (numeric).
*/
public class NumericEqualFunction extends NonEscapingFunction {

  public Value execute(Value... args) {
    Value left = args[0];
    Value right = args[1];
    return literalConstant(left.asNumber() == right.asNumber(), left, right);
  }
View Full Code Here


* X * Y.
*/
public class MultiplyFunction extends NonEscapingFunction {

  public Value execute(Value... args) {
    Value left = args[0];
    Value right = args[1];
    return literalConstant(left.asNumber() * right.asNumber(), left, right);
  }
View Full Code Here

* X > Y.
*/
public class GreaterFunction extends NonEscapingFunction {

  public Value execute(Value... args) {
    Value left = args[0];
    Value right = args[1];
    return literalConstant(left.asNumber() > right.asNumber(), left, right);
  }
View Full Code Here

* X + Y (string).
*/
public class AddFunction extends NonEscapingFunction {

  public Value execute(Value... args) {
    Value left = args[0];
    Value right = args[1];
    EscapeMode mode = EscapeMode.combineModes(left.getEscapeMode(), right.getEscapeMode());
    return literalValue(left.asString() + right.asString(), mode, left.isPartiallyEscaped()
        || right.isPartiallyEscaped());
  }
View Full Code Here

* #X (numeric). Forces a value to a number.
*/
public class NumericFunction extends NonEscapingFunction {

  public Value execute(Value... args) {
    Value value = args[0];
    return literalConstant(value.asNumber(), value);
  }
View Full Code Here

* X >= Y.
*/
public class GreaterOrEqualFunction extends NonEscapingFunction {

  public Value execute(Value... args) {
    Value left = args[0];
    Value right = args[1];
    return literalConstant(left.asNumber() >= right.asNumber(), left, right);
  }
View Full Code Here

  public Value executeFunction(String name, Value... args) {
    Function function = functions.get(name);
    if (function == null) {
      throw new JSilverInterpreterException("Function not found " + name);
    }
    Value result = function.execute(args);
    if (result == null) {
      throw new JSilverInterpreterException("Function " + name + " did not return value");
    }
    return result;
  }
View Full Code Here

  /**
   * @param args 1 string values then 2 numeric values (start and end).
   * @return Sliced string
   */
  public Value execute(Value... args) {
    Value stringValue = args[0];
    Value startValue = args[1];
    Value endValue = args[2];
    String string = stringValue.asString();
    int start = startValue.asNumber();
    int end = endValue.asNumber();
    int length = string.length();

    if (start < 0) {
      start += max(-start, length);
      if (end == 0) {
        end = length;
      }
    }

    if (end < 0) {
      end += length;
    }

    end = min(end, length);

    if (end < start) {
      return literalConstant("", args[0]);
    }

    return literalValue(string.substring(start, end), stringValue.getEscapeMode(), stringValue
        .isPartiallyEscaped()
        || startValue.isPartiallyEscaped() || endValue.isPartiallyEscaped());
  }
View Full Code Here

  /**
   * @param args A single string value
   * @return Length as number value
   */
  public Value execute(Value... args) {
    Value value = args[0];
    return literalConstant(value.asString().length(), value);
  }
View Full Code Here

  /**
   * @param args 2 string expressions (full string and substring)
   * @return Position of the start of substring (or -1 if not found) as number value
   */
  public Value execute(Value... args) {
    Value fullStringValue = args[0];
    Value subStringValue = args[1];
    return literalConstant(fullStringValue.asString().indexOf(subStringValue.asString()),
        fullStringValue, subStringValue);
  }
View Full Code Here

TOP

Related Classes of com.google.clearsilver.jsilver.values.Value

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.