Package ru.snake.spritepacker.writer.expression.value

Examples of ru.snake.spritepacker.writer.expression.value.Value


public class ConstantExpression implements Expression {

  private final Value value;

  public ConstantExpression() {
    this.value = new Value();
  }
View Full Code Here


  public ConstantExpression() {
    this.value = new Value();
  }

  public ConstantExpression(String value) {
    this.value = new Value(value);
  }
View Full Code Here

    this.left = left;
    this.right = right;
  }

  public Value getValue() {
    Value leftValue = left.getValue();
    Value rightValue = right.getValue();
    Value result;

    if (leftValue.isInteger() && rightValue.isInteger()) {
      int opResult = leftValue.getInteger() + rightValue.getInteger();

      result = new Value(opResult);
    } else {
      StringBuilder concat = new StringBuilder();

      concat.append(leftValue.getString());
      concat.append(rightValue.getString());

      result = new Value(concat.toString());
    }

    return result;
  }
View Full Code Here

    this.left = left;
    this.right = right;
  }

  public Value getValue() {
    Value leftValue = left.getValue();
    Value rightValue = right.getValue();
    Value result;

    if (leftValue.isInteger() && rightValue.isInteger()) {
      int rightInt = rightValue.getInteger();

      if (rightInt == 0) {
        throw EvaluationException.create("Module division by zero.");
      }

      int opResult = leftValue.getInteger() % rightInt;

      result = new Value(opResult);
    } else {
      throw EvaluationException
          .create("Module division operands can not be string.");
    }
View Full Code Here

  public Value getValue() {
    StringBuilder sb = new StringBuilder();

    for (Expression each : expressions) {
      Value value = each.getValue();

      sb.append(value.getString());
    }

    return new Value(sb.toString());
  }
View Full Code Here

    this.left = left;
    this.right = right;
  }

  public Value getValue() {
    Value leftValue = left.getValue();
    Value rightValue = right.getValue();
    Value result;

    if (leftValue.isInteger() && rightValue.isInteger()) {
      int sum = leftValue.getInteger() - rightValue.getInteger();

      result = new Value(sum);
    } else {
      throw EvaluationException
          .create("Substartion operands can not be string.");
    }
View Full Code Here

    this.left = left;
    this.right = right;
  }

  public Value getValue() {
    Value leftValue = left.getValue();
    Value rightValue = right.getValue();
    Value result;

    if (leftValue.isInteger() && rightValue.isInteger()) {
      int rightInt = rightValue.getInteger();

      if (rightInt == 0) {
        throw EvaluationException.create("Division by zero.");
      }

      int opResult = leftValue.getInteger() / rightInt;

      result = new Value(opResult);
    } else {
      throw EvaluationException
          .create("Division operands can not be string.");
    }
View Full Code Here

    this.left = left;
    this.right = right;
  }

  public Value getValue() {
    Value leftValue = left.getValue();
    Value rightValue = right.getValue();
    Value result;

    if (leftValue.isInteger() && rightValue.isInteger()) {
      int opResult = leftValue.getInteger() * rightValue.getInteger();

      result = new Value(opResult);
    } else if (leftValue.isString() && rightValue.isInteger()) {
      StringBuilder builder = new StringBuilder();
      String leftString = leftValue.getString();
      int count = rightValue.getInteger();

      for (int i = 0; i < count; i++) {
        builder.append(leftString);
      }

      result = new Value(builder.toString());
    } else {
      throw EvaluationException
          .create("Multiplication operands can not be string.");
    }

View Full Code Here

TOP

Related Classes of ru.snake.spritepacker.writer.expression.value.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.