package org.wiztools.restclient.bean; import java.util.Collections; import java.util.List; import java.util.Objects; /** * * @author subwiz */ public class ReqEntityMultipartBean implements ReqEntityMultipart { private final MultipartSubtype subType; private final MultipartMode mode; private final List<ReqEntityPart> parts; public ReqEntityMultipartBean(List<ReqEntityPart> parts) { this(parts, null); } public ReqEntityMultipartBean(List<ReqEntityPart> parts, MultipartMode mode) { this(parts, null, null); } public ReqEntityMultipartBean(List<ReqEntityPart> parts, MultipartMode mode, MultipartSubtype subType) { this.parts = Collections.unmodifiableList(parts); this.mode = mode != null? mode: MultipartMode.STRICT; this.subType = subType; } @Override public MultipartSubtype getSubtype() { return subType; } @Override public MultipartMode getMode() { return mode; } @Override public List<ReqEntityPart> getBody() { return parts; } @Override public Object clone() { return null; } @Override public int hashCode() { int hash = 5; hash = 29 * hash + Objects.hashCode(this.subType); hash = 29 * hash + Objects.hashCode(this.mode); hash = 29 * hash + Objects.hashCode(this.parts); return hash; } @Override public boolean equals(Object obj) { if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } final ReqEntityMultipartBean other = (ReqEntityMultipartBean) obj; if (this.subType != other.subType) { return false; } if (this.mode != other.mode) { return false; } if (!Objects.equals(this.parts, other.parts)) { return false; } return true; } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("@ReqEntityMultipart"); sb.append("{").append(subType).append(", ").append(mode).append("}"); sb.append("[").append(parts).append("]"); return sb.toString(); } }