package com.vtence.molecule.http;
public class Cookie {
private final String name;
private int version = 1;
private String value;
private int maxAge = -1;
private String domain;
private String path = "/";
private boolean secure;
private boolean httpOnly;
public Cookie(String name, String value) {
this.name = name;
this.value = value;
}
public int version() {
return version;
}
public Cookie version(int version) {
this.version = version;
return this;
}
public String name() {
return name;
}
public String value() {
return value;
}
public Cookie maxAge(int maxAge) {
this.maxAge = maxAge;
return this;
}
public int maxAge() {
return maxAge;
}
public String domain() {
return domain;
}
public Cookie domain(String domain) {
this.domain = domain;
return this;
}
public Cookie path(String path) {
this.path = path;
return this;
}
public String path() {
return path;
}
public Cookie secure(boolean secure) {
this.secure = secure;
return this;
}
public boolean secure() {
return secure;
}
public boolean httpOnly() {
return httpOnly;
}
public Cookie httpOnly(boolean httpOnly) {
this.httpOnly = httpOnly;
return this;
}
public String toString() {
return name + "=" + value +
"; version=" + version +
(path != null ? "; path=" + path : "") +
(domain != null ? "; domain=" + domain : "") +
(maxAge >= 0 ? "; max-age=" + maxAge : "") +
(secure ? "; secure" : "") +
(httpOnly ? "; httponly" : "");
}
}