// --- BEGIN COPYRIGHT BLOCK ---
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; version 2 of the License.
//
// 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 General Public License for more details.
//
// You should have received a copy of the GNU General Public License along
// with this program; if not, write to the Free Software Foundation, Inc.,
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
//
// (C) 2007 Red Hat, Inc.
// All rights reserved.
// --- END COPYRIGHT BLOCK ---
package org.dogtagpki.legacy.core.policy;

import org.dogtagpki.legacy.policy.IPolicyRule;

class PolicyInstance {
    String mInstanceId;
    String mImplId;
    IPolicyRule mRule;
    boolean mIsEnabled;

    public PolicyInstance(String instanceId, String implId,
            IPolicyRule rule, boolean isEnabled) {
        mInstanceId = instanceId;
        mImplId = implId;
        mRule = rule;
        mIsEnabled = isEnabled;
    }

    public String getInstanceId() {
        return mInstanceId;
    }

    public String getImplId() {
        return mImplId;
    }

    public String getRuleInfo() {
        String enabled = mIsEnabled ? "enabled" : "disabled";

        return mInstanceId + ";" + mImplId + ";visible;" + enabled;
    }

    public IPolicyRule getRule() {
        return mRule;
    }

    public boolean isInstanceOf(String implId) {
        return mImplId.equals(implId);
    }

    public boolean isActive() {
        return mIsEnabled;
    }

    public void setActive(boolean stat) {
        mIsEnabled = stat;
    }

    public void setRule(IPolicyRule newRule) {
        mRule = newRule;
    }
}
