package org.ethereum.core;

import java.math.BigDecimal;
import java.math.BigInteger;

public enum Denomination {

	WEI(BigInteger.ONE),
	SZABO(BigDecimal.valueOf(Math.pow(10, 12)).toBigInteger()),
	FINNY(BigDecimal.valueOf(Math.pow(10, 15)).toBigInteger()),
	ETHER(BigDecimal.valueOf(Math.pow(10, 18)).toBigInteger());
	
	private BigInteger amount;
	
	private Denomination(BigInteger value) {
		this.amount = value;
	}
	
	public BigInteger getDenomination() {
		return amount;
	}
}

package org.ethereum.core;

import java.math.BigDecimal;
import java.math.BigInteger;

public enum Denomination {

	WEI(newBigInt(0)),
	ADA(newBigInt(3)),
	BABBAGE(newBigInt(6)),
	SHANNON(newBigInt(9)),
	SZABO(newBigInt(12)),
	FINNY(newBigInt(15)),
	ETHER(newBigInt(18));
	
	private BigInteger amount;
	
	private Denomination(BigInteger value) {
		this.amount = value;
	}
	
	public BigInteger getDenomination() {
		return amount;
	}
	
	private static BigInteger newBigInt(double value) {
		return BigDecimal.valueOf(Math.pow(10, value)).toBigInteger();
	}
}

Update denominations