01: /*
02: * <copyright>
03: *
04: * Copyright 2002-2004 BBNT Solutions, LLC
05: * under sponsorship of the Defense Advanced Research Projects
06: * Agency (DARPA).
07: *
08: * You can redistribute this software and/or modify it under the
09: * terms of the Cougaar Open Source License as published on the
10: * Cougaar Open Source Website (www.cougaar.org).
11: *
12: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
13: * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
14: * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
15: * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
16: * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
17: * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
18: * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
19: * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
20: * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
22: * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23: *
24: * </copyright>
25: */
26:
27: package org.cougaar.core.adaptivity;
28:
29: /**
30: * A phrase fragment used to express a boolean comparison and a set of
31: * valid values to compare against.
32: **/
33: public class ConstraintOpValue implements java.io.Serializable {
34: ConstraintOperator operator;
35: OMCRangeList allowedValues;
36:
37: /**
38: * Constructor
39: **/
40: public ConstraintOpValue() {
41: }
42:
43: /**
44: * Set the operator.
45: * @param op the new operator
46: **/
47: public void setOperator(ConstraintOperator op) {
48: operator = op;
49: }
50:
51: /**
52: * Set the list of value ranges against which the operator can
53: * compare a condition value. The actual interpretation of the
54: * allowed values depends on the operator.
55: * @param l the list of value ranges.
56: **/
57: public void setAllowedValues(OMCRangeList l) {
58: allowedValues = l;
59: }
60:
61: /**
62: * Get the effective value of the allowed values. This is always the
63: * the min of the first range.
64: * @return the value as a Comparable (String, Integer, Double, etc.)
65: **/
66: public Comparable getValue() {
67: return allowedValues.getEffectiveValue();
68: }
69:
70: /**
71: * Get the ranges of allowed values.
72: * @return all allowed ranges as imposed by this constraint
73: **/
74: public OMCRangeList getAllowedValues() {
75: return allowedValues;
76: }
77:
78: /**
79: * The relationship between the condition or operating mode and the
80: * value.
81: * @return ConstraintOperator */
82: public ConstraintOperator getOperator() {
83: return operator;
84: }
85:
86: public String toString() {
87: return operator + " " + allowedValues;
88: }
89: }
|