src/net/fortuna/ical4j/model/property/Action.java

changeset 0
fb9019fb1bf7
equal deleted inserted replaced
-1:000000000000 0:4255d3de9cf7
1 /**
2 * Copyright (c) 2012, Ben Fortuna
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * o Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 *
12 * o Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 *
16 * o Neither the name of Ben Fortuna nor the names of any other contributors
17 * may be used to endorse or promote products derived from this software
18 * without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 */
32 package net.fortuna.ical4j.model.property;
33
34 import net.fortuna.ical4j.model.ParameterList;
35 import net.fortuna.ical4j.model.Property;
36 import net.fortuna.ical4j.model.PropertyFactoryImpl;
37 import net.fortuna.ical4j.model.ValidationException;
38
39 /**
40 * $Id$
41 *
42 * Created: [Apr 6, 2004]
43 *
44 * Defines an ACTION iCalendar component property.
45 * @author benf
46 */
47 public class Action extends Property {
48
49 private static final long serialVersionUID = -2353353838411753712L;
50
51 /**
52 * Constant action for playing an audible sound.
53 */
54 public static final Action AUDIO = new ImmutableAction("AUDIO");
55
56 /**
57 * Constant action for displaying a visible notification.
58 */
59 public static final Action DISPLAY = new ImmutableAction("DISPLAY");
60
61 /**
62 * Constant action for sending an email.
63 */
64 public static final Action EMAIL = new ImmutableAction("EMAIL");
65
66 /**
67 * Constant action for a procedure.
68 */
69 public static final Action PROCEDURE = new ImmutableAction("PROCEDURE");
70
71 /**
72 * @author Ben Fortuna An immutable instance of Action.
73 */
74 private static final class ImmutableAction extends Action {
75
76 private static final long serialVersionUID = -2752235951243969905L;
77
78 /**
79 * @param value
80 */
81 private ImmutableAction(final String value) {
82 super(new ParameterList(true), value);
83 }
84
85 /**
86 * {@inheritDoc}
87 */
88 public void setValue(final String aValue) {
89 throw new UnsupportedOperationException(
90 "Cannot modify constant instances");
91 }
92 }
93
94 private String value;
95
96 /**
97 * Default constructor.
98 */
99 public Action() {
100 super(ACTION, PropertyFactoryImpl.getInstance());
101 }
102
103 /**
104 * @param aValue a value string for this component
105 */
106 public Action(final String aValue) {
107 super(ACTION, PropertyFactoryImpl.getInstance());
108 this.value = aValue;
109 }
110
111 /**
112 * @param aList a list of parameters for this component
113 * @param aValue a value string for this component
114 */
115 public Action(final ParameterList aList, final String aValue) {
116 super(ACTION, aList, PropertyFactoryImpl.getInstance());
117 this.value = aValue;
118 }
119
120 /**
121 * {@inheritDoc}
122 */
123 public void setValue(final String aValue) {
124 this.value = aValue;
125 }
126
127 /**
128 * {@inheritDoc}
129 */
130 public final String getValue() {
131 return value;
132 }
133
134 /**
135 * {@inheritDoc}
136 */
137 public final void validate() throws ValidationException {
138 // TODO: Auto-generated method stub
139 }
140 }

mercurial