Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.pojava.datetime;
  
  import java.util.HashMap;
  import java.util.Locale;
  import java.util.Map;
  import java.util.TimeZone;

DateTimeConfig has numerous values, some of which we want to control, sometimes making minor changes. This Builder allows for incremental changes, producing an immutable config object once built.
 
 public class DateTimeConfigBuilder {
 
     private boolean isDmyOrder = false;
     private boolean isUnspecifiedCenturyAlwaysInPast = false;
     private int epochDOW = 4;
     private String format = "yyyy-MM-dd HH:mm:ss";
     private String defaultJdbcFormat = "yyyy-MM-dd HH:mm:ss.SSS";
     private TimeZone inputTimeZone = TimeZone.getDefault();
     private TimeZone outputTimeZone = TimeZone.getDefault();
     private Locale locale = Locale.getDefault();
     private String bcPrefix = "-";
     private MonthMap monthMap;
    

Support parsing of zones unlisted in TimeZone by translating to known zones. Got a zone that's not supported or should be overridden? Fix it locally by updating your custom tzMap!

 // Example change CST from U.S. Central to Chinese.
 class CustomTzMap {
  private static Map<String, String&gt tzMap = DateTimeConfig.getTzMap();
  static {
   tzMap.put("CST", "Asia/Hong_Kong");
    }
 }
 
 
     private final Map<StringStringtzMap = new HashMap<StringString>();
 
     private final Map<StringTimeZonetzCache = new HashMap<StringTimeZone>();
 
     public DateTimeConfigBuilder() {
 
     }
 
     public static DateTimeConfigBuilder newInstance() {
         DateTimeConfigBuilder builder = new DateTimeConfigBuilder();
         builder.monthMap = MonthMap.fromAllLocales();
         return builder;
     }
 
     public boolean isDmyOrder() {
         return ;
     }
 
     public void setDmyOrder(boolean isDmyOrder) {
         this. = isDmyOrder;
     }
 
     public DateTimeConfigBuilder dmyOrder(boolean isDmyOrder) {
         this. = isDmyOrder;
         return this;
     }
 
     public boolean isUnspecifiedCenturyAlwaysInPast() {
         return ;
     }
 
     public void setUnspecifiedCenturyAlwaysInPast(boolean isUnspecifiedCenturyAlwaysInPast) {
         this. = isUnspecifiedCenturyAlwaysInPast;
     }
 
     public DateTimeConfigBuilder unspecifiedCenturyAlwaysInPast(boolean isUnspecifiedCenturyAlwaysInPast) {
         this. = isUnspecifiedCenturyAlwaysInPast;
         return this;
     }
 
     public int getEpochDOW() {
         return ;
     }
 
     public void setEpochDOW(int epochDOW) {
         this. = epochDOW;
     }
 
     public DateTimeConfigBuilder epochDOW(int epochDOW) {
         this. = epochDOW;
         return this;
     }
 
     public String getFormat() {
         return ;
     }
 
     public void setFormat(String format) {
         this. = format;
    }
    public DateTimeConfigBuilder format(String format) {
        this. = format;
        return this;
    }
    public String getDefaultJdbcFormat() {
        return ;
    }
    public DateTimeConfigBuilder defaultJdbcFormat(String defaultJdbcFormat) {
        this. = defaultJdbcFormat;
        return this;
    }
    public void setDefaultJdbcFormat(String defaultJdbcFormat) {
        this. = defaultJdbcFormat;
    }
    public TimeZone getInputTimeZone() {
        return ;
    }
    public DateTimeConfigBuilder inputTimeZone(TimeZone inputTimeZone) {
        this. = inputTimeZone;
        return this;
    }
    public void setInputTimeZone(TimeZone inputTimeZone) {
        this. = inputTimeZone;
    }
    public TimeZone getOutputTimeZone() {
        return ;
    }
    public DateTimeConfigBuilder outputTimeZone(TimeZone outputTimeZone) {
        this. = outputTimeZone;
        return this;
    }
    public void setOutputTimeZone(TimeZone outputTimeZone) {
        this. = outputTimeZone;
    }
    public Locale getLocale() {
        return ;
    }
    public void setLocale(Locale locale) {
        this. = locale;
    }
    public DateTimeConfigBuilder locale(Locale locale) {
        this. = locale;
        return this;
    }
    public String getBcPrefix() {
        return ;
    }
    public void setBcPrefix(String bcPrefix) {
        this. = bcPrefix;
    }

    
Set whether a formatted year should include a minus sign when B.C.

Parameters:
bcPrefix
Returns:
Prefix string in front of the year if BC (e.g. "-")
    public DateTimeConfigBuilder bcPrefix(String bcPrefix) {
        this. = bcPrefix;
        return this;
    }
    public MonthMap getMonthMap() {
        return ;
    }
    public void setMonthMap(MonthMap monthMap) {
        this. = monthMap;
    }
    public DateTimeConfigBuilder monthMap(MonthMap monthMap) {
        this. = monthMap;
        return this;
    }

    
Add your own uniquely named time zone to the list of interpreted zones.

Parameters:
id the name identifying your time zone
tz a TimeZone object
    public void addTimeZone(String idTimeZone tz) {
        .put(idtz);
    }
    public Map<StringTimeZonegetTzCache() {
        return ;
    }
    public void addTzMap(String id1String id2) {
        .put(id1id2);
    }
    public Map<StringStringgetTzMap() {
        return ;
    }
New to GrepCode? Check out our FAQ X