/* * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU AFFERO GENERAL PUBLIC LICENSE as published by the Free Software Foundation; either version 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * AFFERO GENERAL PUBLIC LICENSE for more details. You should have received a copy of the GNU AFFERO * GENERAL PUBLIC LICENSE along with this program; if not, write to the Free Software Foundation, * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package com.meidusa.amoeba.mysql.net; import java.util.Arrays; import java.util.concurrent.atomic.AtomicInteger; import com.meidusa.amoeba.net.Connection; public class CommandInfo { private byte[] buffer; private final AtomicInteger completedCount = new AtomicInteger(0); private boolean main; private int statusCode; private Runnable runnable; private boolean isMerged = false; private Connection target; public boolean isMerged() { return isMerged; } public void setMerged(boolean isMerged) { this.isMerged = isMerged; } public byte[] getBuffer() { return buffer; } public void setBuffer(byte[] buffer) { this.buffer = buffer; } public boolean isMain() { return main; } public void setMain(boolean main) { this.main = main; } public Runnable getRunnable() { return runnable; } public void setRunnable(Runnable runnable) { this.runnable = runnable; } public AtomicInteger getCompletedCount() { return completedCount; } public Connection getTarget() { return target; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + Arrays.hashCode(buffer); result = prime * result + (main ? 1231 : 1237); result = prime * result + ((target == null) ? 0 : target.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof CommandInfo)) { return false; } CommandInfo other = (CommandInfo) obj; if (!Arrays.equals(buffer, other.buffer)) { return false; } if (main != other.main) { return false; } if (target == null) { if (other.target != null) { return false; } } else if (!target.equals(other.target)) { return false; } return true; } public void setTarget(Connection target) { this.target = target; } public int getStatusCode() { return statusCode; } public void setStatusCode(int statusCode) { this.statusCode = statusCode; } }