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

com.vendasta.salesorders.v1.internal.Currency Maven / Gradle / Ivy

The newest version!
package com.vendasta.salesorders.v1.internal;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.HashMap;
import java.util.Collections;
import com.vendasta.salesorders.v1.generated.CommonProto;

/**
 * The different world currencies that a package could pertain to
 **/
public enum Currency { 
	USD(0),
		CAD(1),
		EUR(2),
		AUD(3),
		GBP(4),
		NZD(5);
	
	private static final Map protoTypeMap;
	static {
		Map aMap;
		aMap = new HashMap();
		aMap.put(CommonProto.Currency.USD, Currency.USD);
		aMap.put(CommonProto.Currency.CAD, Currency.CAD);
		aMap.put(CommonProto.Currency.EUR, Currency.EUR);
		aMap.put(CommonProto.Currency.AUD, Currency.AUD);
		aMap.put(CommonProto.Currency.GBP, Currency.GBP);
		aMap.put(CommonProto.Currency.NZD, Currency.NZD);
		protoTypeMap = Collections.unmodifiableMap(aMap);
	}

	private static final Map javaTypeMap;
	static {
		Map aMap;
		aMap = new HashMap();
		aMap.put(Currency.USD, CommonProto.Currency.USD);
		aMap.put(Currency.CAD, CommonProto.Currency.CAD);
		aMap.put(Currency.EUR, CommonProto.Currency.EUR);
		aMap.put(Currency.AUD, CommonProto.Currency.AUD);
		aMap.put(Currency.GBP, CommonProto.Currency.GBP);
		aMap.put(Currency.NZD, CommonProto.Currency.NZD);
		javaTypeMap = Collections.unmodifiableMap(aMap);
	}

	private int value;

	private Currency(int i) {
		value = i;
	}
	public int getValue() {
		return value;
	}

	public static Currency fromProto(CommonProto.Currency proto) {
		return protoTypeMap.get(proto);
	}

	public static List fromProtos(List protos) {
		List result = new ArrayList();
		for(CommonProto.Currency proto : protos) {
			result.add(Currency.fromProto(proto));
		}
		return result;
	}

	public CommonProto.Currency toProto() {
		return javaTypeMap.get(this);
	}

	public static List toProtos(List objects) {
		List result = new ArrayList();
		for(Currency obj : objects) {
			result.add(obj.toProto());
		}
		return result;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy