/* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at * trunk/opends/resource/legal-notices/OpenDS.LICENSE * or https://OpenDS.dev.java.net/OpenDS.LICENSE. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable, * add the following below this CDDL HEADER, with the fields enclosed * by brackets "[]" replaced with your own identifying information: * Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END * * * Copyright 2008 Sun Microsystems, Inc. */ package org.opends.server.workflowelement; import java.util.Observable; /** * This class implements an observable workflow element state. * The observable workflow element state notifies observers when the * state of the workflow element has changed. Typically, observers are * notified when a workflow element is enabled or disabled. */ public class ObservableWorkflowElementState extends Observable { // The observed workflow element private final WorkflowElement observedWorkflowElement; // The "enabled" state of the observed workflow element. // By default, a workflow element is enabled (otherwise this // instance of workflow element state would not exist). private boolean enabled = true; /** * Creates an instance of an observable object for a given workflow * element. * * @param observedWorkflowElement the workflow element to observe */ public ObservableWorkflowElementState( WorkflowElement observedWorkflowElement) { this.observedWorkflowElement = observedWorkflowElement; } /** * Gets the observed workflow element. * @return the observed workflow element. */ public WorkflowElement getObservedWorkflowElement() { return observedWorkflowElement; } /** * Allows the observed workflow element to indicate its new state * (enabled or disabled). * * @param enabled the new "enabled" state of the observed workflow element */ public void setWorkflowElementEnabled( boolean enabled) { if (this.enabled != enabled) { setChanged(); this.enabled = enabled; } } /** * Indicates whether the observed workflow element is enabled or not. * * @return true if the observed workflow element is enabled. */ public boolean workflowElementIsEnabled() { return enabled; } }