package org.araqne.logstorage.dump; import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.UUID; public class ExportRequest { private String driverType; private String guid; private Set<String> tableNames; private Date from; private Date to; private Map<String, String> params; public ExportRequest(String driverType, Set<String> tableNames, Date from, Date to, Map<String, String> params) { this(UUID.randomUUID().toString(), driverType, tableNames, from, to, params); } public ExportRequest(String guid, String driverType, Set<String> tableNames, Date from, Date to, Map<String, String> params) { this.guid = guid; this.driverType = driverType; this.tableNames = tableNames; this.from = from; this.to = to; this.params = params; } public ExportRequest clone() { HashSet<String> clonedTableNames = new HashSet<String>(tableNames); HashMap<String, String> clonedParams = new HashMap<String, String>(params); return new ExportRequest(guid, driverType, clonedTableNames, cloneDate(from), cloneDate(to), clonedParams); } private Date cloneDate(Date d) { return d == null ? null : (Date) d.clone(); } public String getDriverType() { return driverType; } public void setDriverType(String driverName) { this.driverType = driverName; } public String getGuid() { return guid; } public Set<String> getTableNames() { return tableNames; } public Date getFrom() { return from; } public Date getTo() { return to; } public Map<String, String> getParams() { return params; } }