Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2014 Davor Sauer
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   * http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 package org.jdice.calc;
 
 
Calculator extension with basic operations.

Author(s):
Davor Sauer <davor.sauer@gmail.com>
 
 public class Calc extends AbstractCalculator<Calcimplements Add<Calc>,
 		Sub<Calc>, Div<Calc>, Mul<Calc>, Mod<Calc>, Pow<Calc>, Abs<Calc>,
 		Sqrt<Calc>, Log<Calc> {
 
 	protected Calc getThis() {
 		return this;
 	}
 
 	public Calc() {
 		super();
 	}
 
 	public Calc(Object value) {
 		super(value);
 	}
 
 	public Calc(String value) {
 		super(value);
 	}
 
 	public Calc(String valuechar decimalSeparator) {
 		super(valuedecimalSeparator);
 	}
 
 	public Calc(Num value) {
 		super(value);
 	}
 
 	//
 	// Builder
 	//
 	public static Calc builder() {
 		Calc calc = new Calc();
 		return calc;
 	}
 
 	public static Calc builder(String equationthrows ParseException {
 		Calc calc = new Calc();
 		calc.parse(equation);
 		return calc;
 	}
 
 	public static Calc builder(String equationObject... values)
 			throws ParseException {
 		Calc calc = new Calc();
 		calc.parse(equationvalues);
 		return calc;
 	}
 
 	//
 	// DEFAULT OPERATIONS
 	//
 	// -----------------
	public Calc add() {
		return append(AddOperator.class);
	}
	public Calc add(Object value) {
		return append(AddOperator.classvalue);
	}
	public Calc add(String value) {
		return append(AddOperator.classvalue);
	}
	public Calc add(String valuechar decimalSeparator) {
		return append(AddOperator.classvaluedecimalSeparator);
	}
	public Calc add(Num value) {
		return append(AddOperator.classvalue);
	}
	// -----------------
	public Calc subtract() {
		return append(SubOperator.class);
	}
	public Calc sub(Object value) {
		return append(SubOperator.classvalue);
	}
	public Calc sub(String value) {
		return append(SubOperator.classvalue);
	}
	public Calc sub(String valuechar decimalSeparator) {
		return append(SubOperator.classvaluedecimalSeparator);
	}
	public Calc sub(Num value) {
		return append(SubOperator.classvalue);
	}
	// -----------------
	public Calc divide() {
		return append(DivOperator.class);
	}
	public Calc div(Object value) {
		return append(DivOperator.classvalue);
	}
	public Calc div(String value) {
		return append(DivOperator.classvalue);
	}
	public Calc div(String valuechar decimalSeparator) {
		return append(DivOperator.classvaluedecimalSeparator);
	}
	public Calc div(Num value) {
		return append(DivOperator.classvalue);
	}
	// -----------------
	public Calc multiply() {
		return append(MulOperator.class);
	}
	public Calc mul(Object value) {
		return append(MulOperator.classvalue);
	}
	public Calc mul(String value) {
		return append(MulOperator.classvalue);
	}
	public Calc mul(String valuechar decimalSeparator) {
		return append(MulOperator.classvaluedecimalSeparator);
	}
	public Calc mul(Num value) {
		return append(MulOperator.classvalue);
	}
	// -----------------
	public Calc power() {
		return append(PowOperator.class);
	}
	public Calc pow(Object value) {
		return append(PowOperator.classvalue);
	}
	public Calc pow(String value) {
		return append(PowOperator.classvalue);
	}
	public Calc pow(String valuechar decimalSeparator) {
		return append(PowOperator.classvaluedecimalSeparator);
	}
	public Calc pow(Num value) {
		return append(PowOperator.classvalue);
	}
	public Calc abs(AbstractCalculator equation) {
		return append(AbsFunction.classequation);
	}
	public Calc abs(Object value) {
		return append(AbsFunction.classnew Num(value));
	}
	public Calc abs(String value) {
		return append(AbsFunction.classnew Num(value));
	}
	public Calc abs(String valuechar decimalSeparator) {
		return append(AbsFunction.classnew Num(valuedecimalSeparator));
	}
	public Calc abs(Num value) {
		return append(AbsFunction.classvalue);
	}
	public Calc sqrt(AbstractCalculator equation) {
		return append(SqrtFunction.classequation);
	}
	public Calc sqrt(Object value) {
		return append(SqrtFunction.classnew Num(value));
	}
	public Calc sqrt(String value) {
		return append(SqrtFunction.classnew Num(value));
	}
	public Calc sqrt(String valuechar decimalSeparator) {
		return append(SqrtFunction.classnew Num(valuedecimalSeparator));
	}
	public Calc sqrt(Num value) {
		return append(SqrtFunction.classvalue);
	}
	public Calc modulo() {
		return append(ModOperator.class);
	}
	public Calc mod(Object value) {
		return append(ModOperator.classvalue);
	}
	public Calc mod(String value) {
		return append(ModOperator.classvalue);
	}
	public Calc mod(String valuechar decimalSeparator) {
		return append(ModOperator.classvaluedecimalSeparator);
	}
	public Calc mod(Num value) {
		return append(ModOperator.classvalue);
	}
	public Calc log(AbstractCalculator equation) {
		return append(LogFunction.classequation);
	}
	public Calc log(Object value) {
		return append(LogFunction.classvalue);
	}
	public Calc log(String value) {
		return append(LogFunction.classvalue);
	}
	public Calc log(String valuechar decimalSeparator) {
		return append(LogFunction.classvaluedecimalSeparator);
	}
	public Calc log(Num value) {
		return append(LogFunction.classvalue);
	}
New to GrepCode? Check out our FAQ X