SystemBuilderOption.java

/*
 * Created on 2010/05/12
 * Copyright (C) 2010 Koga Laboratory. All rights reserved.
 *
 */
package org.mklab.tool.control.system;

/**
 * {@link SystemBuilder}のオプションを表すクラスです。
 * 
 * @author koga
 * @version $Revision$, 2010/05/12
 */
public class SystemBuilderOption {

  /** 線形システムを求めるならばtrue(デフォルト=false) */
  private boolean requiringLinearSystem = false;

  /** ディスクリプタ形式で求めるならばtrue(デフォルト=false) */
  private boolean requiringDescriptor = false;

  /** 全ての定数エッジを縮約するならばtrue(デフォルト=true) */
  private boolean contractingAllConstantEdges = true;

  /** 可到達な部分システムを求めるならばtrue(デフォルト=true) */
  private boolean requiringReachableSubSystem = true;

  /** 最小の要素で式を表現するならばtrue(デフォルト=false) */
  private boolean requiringPrimitiveExpression = false;

  /**
   * 線形システムを求めるか設定します。
   * 
   * @param requiringLinearSystem 線形システムを求めるならばtrue
   */
  public void setRequiringLinearSystem(boolean requiringLinearSystem) {
    this.requiringLinearSystem = requiringLinearSystem;
  }

  /**
   * 線形システムを求めるか判定します。
   * 
   * @return 線形システムを求めるならばtrue
   */
  public boolean isRequiringLinearSystem() {
    return this.requiringLinearSystem;
  }

  /**
   * ディスクリプタ形式で求めるか設定します。
   * 
   * @param requiringDescriptor ディスクリプタ形式で求めるならばtrue
   */
  public void setRequiringDescriptor(boolean requiringDescriptor) {
    this.requiringDescriptor = requiringDescriptor;
  }

  /**
   * ディスクリプタ形式で求めるか判定します。
   * 
   * @return ディスクリプタ形式で求めるならばtrue
   */
  public boolean isRequiringDescriptor() {
    return this.requiringDescriptor;
  }

  /**
   * 全ての定数エッジを縮約するか設定します。
   * 
   * @param contractingAllConstantEdges 全ての定数エッジを縮約するならばtrue
   */
  public void setContractingAllConstantEdges(boolean contractingAllConstantEdges) {
    this.contractingAllConstantEdges = contractingAllConstantEdges;
  }

  /**
   * 全ての定数エッジを縮約するか判定します。
   * 
   * @return 全ての定数エッジを縮約するならばtrue
   */
  public boolean isContractingAllConstantEdges() {
    return this.contractingAllConstantEdges;
  }

  /**
   * 可到達な部分システムを求めるか設定します。
   * 
   * @param requiringReachableSubSystem 可到達な部分システムを求めるならばtrue
   */
  public void setRequiringReachableSubSystem(boolean requiringReachableSubSystem) {
    this.requiringReachableSubSystem = requiringReachableSubSystem;
  }

  /**
   * 可到達な部分システムを求めるか判定します。
   * 
   * @return 可到達な部分システムを求めるならばtrue
   */
  public boolean isRequiringReachableSubSystem() {
    return this.requiringReachableSubSystem;
  }

  /**
   * 最小の要素で式を表現するか設定します。
   * 
   * @param requiringPrimitiveExpression 最小の要素で式を表現するならばtrue
   */
  public void setRequiringPrimitiveExpression(boolean requiringPrimitiveExpression) {
    this.requiringPrimitiveExpression = requiringPrimitiveExpression;
  }

  /**
   * 最小の要素で式を表現するか判定します。
   * 
   * @return 最小の要素で式を表現するならばtrue
   */
  public boolean isRequiringPrimitiveExpression() {
    return this.requiringPrimitiveExpression;
  }
}