CostingState.java

package com.tradecloud.domain.costing;

public enum CostingState {

    UNCOSTED, COSTED, SIGNED_OFF_BY_TRADER, SIGNED_OFF;

    public boolean isCostingEditable() {
        return (this == CostingState.UNCOSTED);
    }

    public boolean isUncosted() {
        return (this == CostingState.UNCOSTED);
    }

    public boolean isCosted() {
        return (this == CostingState.COSTED);
    }

    public boolean isSignedOffByTrader() {
        return (this == CostingState.SIGNED_OFF_BY_TRADER);
    }

    public boolean isSignedOff() {
        return (this == CostingState.SIGNED_OFF);
    }

    public boolean isPartiallyOrFullySignedOff() {
        return this == CostingState.SIGNED_OFF || this == CostingState.SIGNED_OFF_BY_TRADER;
    }

}