Set timezone in IsoValue itself #106

This commit is contained in:
Enrique Zamudio
2018-04-17 11:25:11 -05:00
parent e7306681eb
commit a84dacb9f3
7 changed files with 25 additions and 40 deletions
@@ -1,8 +1,10 @@
package com.solab.iso8583.parse;
import com.solab.iso8583.IsoType;
import com.solab.iso8583.IsoValue;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;
/**
@@ -48,4 +50,21 @@ public abstract class DateTimeParseInfo extends FieldParseInfo {
}
}
protected IsoValue<Date> createValue(Calendar cal, boolean adjusting) {
if (tz != null) {
cal.setTimeZone(tz);
} else if (getDefaultTimeZone() != null) {
cal.setTimeZone(getDefaultTimeZone());
}
if (adjusting) {
adjustWithFutureTolerance(cal);
}
IsoValue<Date> v = new IsoValue<>(type, cal.getTime(), null);
if (tz != null) {
v.setTimeZone(tz);
} else if (getDefaultTimeZone() != null) {
v.setTimeZone(getDefaultTimeZone());
}
return v;
}
}