All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.unlaxer.tinyexpression.CalculateContext Maven / Gradle / Ivy

package org.unlaxer.tinyexpression;

import java.math.RoundingMode;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;

public class CalculateContext{
	
	public enum Angle{
		RADIAN,DEGREE
	}
	
	public final int scale;
	public final RoundingMode roundingMode;
	public final Angle angle;
	
	public final Map valueByName = new HashMap<>();
	
	public final Map booleanByName = new HashMap<>();
	
	public final Map stringByName = new HashMap<>();

	
	public CalculateContext(int scale, RoundingMode roundingMode , Angle angle) {
		super();
		this.scale = scale;
		this.roundingMode = roundingMode;
		this.angle = angle;
	}
	
	public CalculateContext() {
		this(10,RoundingMode.HALF_UP , Angle.DEGREE);
	}

	public void set(String name,String value) {
		stringByName.put(name, value);
	}
	
	public Optional getString(String name){
		return Optional.ofNullable(stringByName.get(name));
	}

	public void set(String name,float value) {
		valueByName.put(name, value);
	}
	
	public Optional getValue(String name) {

		return Optional.ofNullable(valueByName.get(name));
	}
	
	public void set(String name , boolean value) {
		booleanByName.put(name, value);
	}
	
	public Optional getBoolean(String name){
		return Optional.ofNullable(booleanByName.get(name));
	}
	
	public boolean isExists(String name) {
		return valueByName.get(name) != null ||
				booleanByName.get(name) != null ||
				stringByName.get(name) != null;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy