01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17: /**
18: * @author Alexey A. Ivanov
19: * @version $Revision$
20: */package javax.swing.text.html;
21:
22: import javax.swing.text.AttributeSet;
23:
24: public class Option {
25: private final AttributeSet attr;
26: private String label;
27: private boolean selected;
28:
29: public Option(final AttributeSet attr) {
30: this .attr = attr.copyAttributes();
31: selected = this .attr.isDefined(HTML.Attribute.SELECTED);
32: }
33:
34: public AttributeSet getAttributes() {
35: return attr;
36: }
37:
38: public String getLabel() {
39: return label != null ? label : (String) getAttributes()
40: .getAttribute(HTML.Attribute.LABEL);
41: }
42:
43: public String getValue() {
44: final String value = (String) getAttributes().getAttribute(
45: HTML.Attribute.VALUE);
46: return value != null ? value : getLabel();
47: }
48:
49: public boolean isSelected() {
50: return selected;
51: }
52:
53: public void setLabel(final String label) {
54: this .label = label;
55: }
56:
57: protected void setSelection(final boolean state) {
58: selected = state;
59: }
60:
61: public String toString() {
62: return label;
63: }
64: }
|