Package org.pentaho.reporting.libraries.formula.lvalues

Examples of org.pentaho.reporting.libraries.formula.lvalues.TypeValuePair


    {
      // else
      throw EvaluationException.getInstance(LibFormulaErrorValue.ERROR_INVALID_ARGUMENT_VALUE);
    }

    return new TypeValuePair(parameters.getType(index), parameters.getValue(index));
  }
View Full Code Here


    final String text = typeRegistry.convertToText(textType, textValue);
    final String oldText = typeRegistry.convertToText(oldTextType, oldTextValue);
    if (oldText.length() == 0)
    {
      return new TypeValuePair(TextType.TYPE, text);
    }

    final Type newTextType = parameters.getType(2);
    final Object newTextValue = parameters.getValue(2);
    final String newText = typeRegistry.convertToText(newTextType, newTextValue);
    if (parameterCount == 3)
    {
      int oldIndex = 0;
      int index = text.indexOf(oldText);
      if (index == -1)
      {
        return new TypeValuePair(TextType.TYPE, text);
      }

      final StringBuffer result = new StringBuffer(text.length());
      while (index >= 0)
      {
        result.append(text.substring(oldIndex, index));
        result.append(newText);
        oldIndex = index + oldText.length();

        index = text.indexOf(oldText, oldIndex);
      }
      result.append(text.substring(oldIndex));
      return new TypeValuePair(TextType.TYPE, result.toString());
    }

    // Instead of replacing all occurences, the user only requested to replace
    // a specific one.
    final Type whichType = parameters.getType(3);
    final Object whichValue = parameters.getValue(3);
    final Number n = typeRegistry.convertToNumber(whichType, whichValue);
    if (n.doubleValue() < 1)
    {
      throw EvaluationException.getInstance(
          LibFormulaErrorValue.ERROR_INVALID_ARGUMENT_VALUE);
    }

    final int nthOccurence = n.intValue();

    int index = text.indexOf(oldText);
    if (index == -1)
    {
      return new TypeValuePair(TextType.TYPE, text);
    }

    String result = text;
    int counter = 1;
    while (index >= 0)
    {
      if (counter == nthOccurence)
      {
        final StringBuffer buffer = new StringBuffer(result);
        buffer.replace(index, index + oldText.length(), newText);
        result = buffer.toString();
        return new TypeValuePair(TextType.TYPE, result);
      }

      index = result.indexOf(oldText, index + 1);
      counter += 1;
    }
    return new TypeValuePair(TextType.TYPE, result);
  }
View Full Code Here

    {
      throw EvaluationException.getInstance(LibFormulaErrorValue.ERROR_INVALID_ARGUMENT_VALUE);
    }

    final BigDecimal num = NumberUtil.getAsBigDecimal(result);
    return new TypeValuePair(NumberType.GENERIC_NUMBER, num);
  }
View Full Code Here

    final Type textType1 = parameters.getType(0);
    final Object textValue1 = parameters.getValue(0);
    final String rawText = typeRegistry.convertToText(textType1, textValue1);
    if(rawText == null)
    {
      return new TypeValuePair(TextType.TYPE, "");
    }

    final StringBuffer buffer = new StringBuffer(rawText.length() * count);
    for(int i=0; i<count; i++)
    {
      buffer.append(rawText);
    }
    return new TypeValuePair(TextType.TYPE, buffer.toString());
  }
View Full Code Here

   
    final StringBuffer buffer = new StringBuffer(result1.length() + newText.length() + result2.length());
    buffer.append(result1);
    buffer.append(newText);
    buffer.append(result2);
    return new TypeValuePair(TextType.TYPE, buffer.toString());
  }
View Full Code Here

    }
    if (Boolean.TRUE.equals(condition))
    {
      final Object value = parameters.getValue(1);
      final Type type = parameters.getType(1);
      return new TypeValuePair(type, value);
    }
    // if condition is false and no third parameter, return false
    if(parameterCount == 2 || parameters.getValue(2) == null)
    {
      return RETURN_FALSE;
    }
    // else return third parameter
    final Object value = parameters.getValue(2);
    final Type type = parameters.getType(2);
    return new TypeValuePair(type, value);
  }
View Full Code Here

      throws EvaluationException
  {
    final Date now = DateUtil.now(context);

    final Date date = DateUtil.normalizeDate(now, DateTimeType.DATETIME_TYPE);
    return new TypeValuePair(DateTimeType.DATETIME_TYPE, date);
  }
View Full Code Here

    }

    final Calendar gc = DateUtil.createCalendar(d, context.getLocalizationContext());
    final int year = gc.get(Calendar.YEAR);
    //noinspection UnpredictableBigDecimalConstructorCall
    return new TypeValuePair(NumberType.GENERIC_NUMBER, new BigDecimal((double)year));
  }
View Full Code Here

    final BigDecimal minutesFraction = hours.subtract(dayAndHoursAsInt);
   
    // Multiply the minutes with 60 to get the minutes as ints
    final BigDecimal minutes = minutesFraction.multiply(MINUTES);
    final BigDecimal minutesAsInt = minutes.setScale(0, BigDecimal.ROUND_HALF_UP);
    return new TypeValuePair(NumberType.GENERIC_NUMBER, minutesAsInt);
  }
View Full Code Here

  public Object next() throws EvaluationException
  {
    if (single != null && rowCursor == 0)
    {
      rowCursor++;
      final TypeValuePair pair = single.evaluate();
      return pair.getValue();
    }
    if (array != null)
    {
      final Object value = array.getValue(rowCursor, columnCursor);
      // advance
View Full Code Here

TOP

Related Classes of org.pentaho.reporting.libraries.formula.lvalues.TypeValuePair

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.