package models;

import lombok.Getter;
import lombok.Setter;
import models.algebra.Type;

@Getter
@Setter
public class RDLConstant extends EvaluableTerm{
	
	private String name;
	private Type type;
	
	public RDLConstant(String name) {
		super(0);
		this.name = name;
		this.type = null;
	}
	
	public RDLConstant(String name, Type type) {
		super(0);
		this.name = name;
		this.type = type;
	}
	
	@Override
	public boolean isLinearRightNormal() {
		return true;
	}
	
	@Override
	public EvaluableTerm linearRightNormalize() {
		return new RDLConstant(name, type);
	}

	@Override
	public void selfLinearRightNormalize() {
	}
	
	@Override
	public String toStr() {
		return this.name;
	}

}
