DoubleZeroSystem.java

/**
 * $Id: ZeroSystem.java,v 1.13 2008/06/26 10:10:35 koga Exp $
 *
 * Copyright (C) 2004-2005 Koga Laboratory. All rights reserved.
 */

package org.mklab.tool.control.system;

/**
 * ゼロシステムを表わすクラスです。
 * 
 * <p>シングルトンパターンを利用しています。
 * 
 * <p>ヌルオブジェクトパターンを利用しています。
 * 
 * @author koga
 * @version $Revision: 1.13 $
 */
public class DoubleZeroSystem extends DoubleSystemOperator {

  /** ゼロシステム */
  private static final DoubleZeroSystem zeroSystem = new DoubleZeroSystem();

  /**
   * 新しく生成された<code>ZeroSystem</code>オブジェクトを初期化します。
   */
  private DoubleZeroSystem() {
    super();
  }

  /**
   * @see org.mklab.nfc.matrix.GridElement#clone()
   */
  @Override
  public final DoubleZeroSystem clone() {
    return zeroSystem;
  }

  /**
   * ゼロシステムを返します。
   * 
   * @return ゼロシステム
   */
  public static DoubleZeroSystem getInstance() {
    return zeroSystem;
  }

  /**
   * @see java.lang.Object#equals(java.lang.Object)
   */
  @Override
  public boolean equals(Object opponent) {
    return this == opponent;
  }

  /**
   * @see org.mklab.tool.control.system.SystemOperator#initialize()
   */
  @Override
  public void initialize() {
    // nothing
  }
  
  /**
   * {@inheritDoc}
   */
  @Override
  public String toString() {
    return "ZeroSystem"; //$NON-NLS-1$
  }
}