I have two enum classes one is external and the other is internal.
public enum ExternalEnum
{
EXTERNAL_CAR, EXTERNAL_VAN, EXTERNAL_BUS
}
public enum InternalEnum
{
CAR, VAN, BUS
}
I need to map internal to external and external to internal. So I have done the following,
public class EnumMapper
{
public ExternalEnum toExternal(InternalEnum internalEnum)
{
switch (internalEnum)
{
case BUS:
return ExternalEnum.EXTERNAL_BUS;
case CAR:
return ExternalEnum.EXTERNAL_CAR;
case VAN:
return ExternalEnum.EXTERNAL_VAN;
}
return null;
}
public InternalEnum toInternal(ExternalEnum externalEnum)
{
switch (externalEnum)
{
case EXTERNAL_BUS:
return InternalEnum.BUS;
case EXTERNAL_CAR:
return InternalEnum.CAR;
case EXTERNAL_VAN:
return InternalEnum.VAN;
}
return null;
}
}
So same kind of mapping is repeating in two methods. Isn't there a good approach to achieve this using less amount of code?