001package org.clafer.ir; 002 003/** 004 * 005 * @author jimmy 006 */ 007public class IrIntConstant extends IrIntVar implements IrConstant { 008 009 private final int value; 010 011 IrIntConstant(int value) { 012 super(Integer.toString(value), new IrBoundDomain(value, value)); 013 this.value = value; 014 } 015 016 public int getValue() { 017 return value; 018 } 019 020 @Override 021 public boolean equals(Object obj) { 022 if (this == obj) { 023 return true; 024 } 025 if (obj instanceof IrIntConstant) { 026 IrIntConstant other = (IrIntConstant) obj; 027 // Don't need to call super.hashCode since the domain is the same as value. 028 return value == other.value; 029 } 030 return false; 031 } 032 033 @Override 034 public int hashCode() { 035 return value; 036 } 037 038 @Override 039 public String toString() { 040 return Integer.toString(value); 041 } 042}