SystemInputOutputKey.java
/*
* Created on 2008/11/27
* Copyright (C) 2008 Koga Laboratory. All rights reserved.
*
*/
package org.mklab.tool.control;
/**
* システムの入出力を特定するためのキーを表すクラスです。
*
* @author koga
*
*/
final public class SystemInputOutputKey implements Comparable<SystemInputOutputKey> {
/** 入力番号 */
private int inputNumber;
/** 出力番号 */
private int outputNumber;
/**
* 新しく生成された<code>SystemInputOutputKey</code>オブジェクトを初期化します。
*
* @param inputNumber 入力番号
* @param outputNumber 出力番号
*/
public SystemInputOutputKey(final int inputNumber, final int outputNumber) {
this.inputNumber = inputNumber;
this.outputNumber = outputNumber;
}
/**
* 入力番号を返します。
*
* @return 入力番号
*/
public int getInputNumber() {
return this.inputNumber;
}
/**
* 入力番号を設定します。
*
* @param inputNumber 入力番号
*/
public void setInputNumber(int inputNumber) {
this.inputNumber = inputNumber;
}
/**
* 出力番号を返します。
*
* @return 出力番号
*/
public int getOutputNumber() {
return this.outputNumber;
}
/**
* 出力番号を設定します。
*
* @param outputNumber 出力番号
*/
public void setOutputNumber(int outputNumber) {
this.outputNumber = outputNumber;
}
/**
* @see java.lang.Object#hashCode()
*/
@Override
public int hashCode() {
int hashCode = 1;
hashCode = 31 * hashCode + this.inputNumber;
hashCode = 31 * hashCode + this.outputNumber;
return hashCode;
}
/**
* @see java.lang.Object#equals(java.lang.Object)
*/
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null) {
return false;
}
if (o.getClass() != getClass()) {
return false;
}
SystemInputOutputKey castedObj = (SystemInputOutputKey)o;
return ((this.inputNumber == castedObj.inputNumber) && (this.outputNumber == castedObj.outputNumber));
}
/**
* @see java.lang.Object#clone()
*/
@Override
protected Object clone() {
return new SystemInputOutputKey(this.inputNumber, this.outputNumber);
}
/**
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
return "(" + this.outputNumber + "," + this.inputNumber + ")"; //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
}
/**
* @see java.lang.Comparable#compareTo(java.lang.Object)
*/
@Override
public int compareTo(SystemInputOutputKey o) {
if (this.outputNumber < o.outputNumber) {
return -1;
}
if (this.outputNumber > o.outputNumber) {
return 1;
}
if (this.inputNumber < o.inputNumber) {
return -1;
}
if (this.inputNumber > o.inputNumber) {
return 1;
}
return 0;
}
}