1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19
20 package org.apache.myfaces.custom.schedule;
21
22 import java.io.Serializable;
23
24 import org.apache.myfaces.component.UserRoleAware;
25
26 /**
27 * A schedule component similar to the ones found in Outlook or Evolution
28 * <p>
29 * Renders a schedule component, showing appointments and events
30 * in a day, workweek, week or month view, similar to the schedule
31 * part of MS Outlook or Evolution.
32 * </p><p>
33 * The component is backed by an implementation of the
34 * ScheduleModel interface. Creating a custom model can be easily
35 * achieved by implementing this interface, or by overriding
36 * the AbstractScheduleModel class.
37 * </p><p>
38 * AbstractHtmlSchedule class holds all properties specific to the HTML version of the Schedule component.
39 * </p>
40 *
41 * @JSFComponent
42 * name = "t:schedule"
43 * class = "org.apache.myfaces.custom.schedule.HtmlSchedule"
44 * tagClass = "org.apache.myfaces.custom.schedule.ScheduleTag"
45 * tagHandler = "org.apache.myfaces.custom.schedule.ScheduleTagHandler"
46 * implements = "java.io.Serializable"
47 * serialuid = "5859593107442371656L"
48 *
49 * @author Bruno Aranda (latest modification by $Author: lu4242 $)
50 * @author Jurgen Lust
51 * @since 1.1.7
52 * @version $Revision: 691856 $
53 */
54 public abstract class AbstractHtmlSchedule extends UISchedule implements UserRoleAware,
55 Serializable
56 {
57
58 //private static final long serialVersionUID = 5859593107442371656L;
59
60 public static final String COMPONENT_FAMILY = "javax.faces.Panel";
61 public static final String COMPONENT_TYPE = "org.apache.myfaces.Schedule";
62 private static final String DEFAULT_RENDERER_TYPE = "org.apache.myfaces.Schedule";
63
64 /**
65 * @JSFProperty
66 * @return the backgroundClass
67 */
68 public abstract String getBackgroundClass();
69
70 /**
71 * @JSFProperty
72 * @return the columnClass
73 */
74 public abstract String getColumnClass();
75
76 /**
77 * @JSFProperty
78 * @return the contentClass
79 */
80 public abstract String getContentClass();
81
82 /**
83 * @JSFProperty
84 * @return the dateClass
85 */
86 public abstract String getDateClass();
87
88 /**
89 * @JSFProperty
90 * @return the dayClass
91 */
92 public abstract String getDayClass();
93
94 /**
95 * @JSFProperty
96 * @return the entryClass
97 */
98 public abstract String getEntryClass();
99
100 /**
101 * @JSFProperty
102 * @return the entryRenderer
103 */
104 public abstract Object getEntryRenderer();
105
106 /**
107 * @JSFProperty
108 * @return the evenClass
109 */
110 public abstract String getEvenClass();
111
112 /**
113 * @JSFProperty
114 * @return the foregroundClass
115 */
116 public abstract String getForegroundClass();
117
118 /**
119 * @JSFProperty
120 * @return the freeClass
121 */
122 public abstract String getFreeClass();
123
124 /**
125 * @JSFProperty
126 * @return the gutterClass
127 */
128 public abstract String getGutterClass();
129
130 /**
131 * @JSFProperty
132 * @return the headerClass
133 */
134 public abstract String getHeaderClass();
135
136 /**
137 * @JSFProperty
138 * @return the holidayClass
139 */
140 public abstract String getHolidayClass();
141
142 /**
143 * @JSFProperty
144 * @return the hoursClass
145 */
146 public abstract String getHoursClass();
147
148 /**
149 * @JSFProperty
150 * @return the inactiveDayClass
151 */
152 public abstract String getInactiveDayClass();
153
154 /**
155 * @JSFProperty
156 * @return the minutesClass
157 */
158 public abstract String getMinutesClass();
159
160 /**
161 * @JSFProperty
162 * @return the monthClass
163 */
164 public abstract String getMonthClass();
165
166 /**
167 * @JSFProperty
168 * @return the selectedClass
169 */
170 public abstract String getSelectedClass();
171
172 /**
173 * @JSFProperty
174 * @return the selectedEntryClass
175 */
176 public abstract String getSelectedEntryClass();
177
178 /**
179 * @JSFProperty
180 * @return the subtitleClass
181 */
182 public abstract String getSubtitleClass();
183
184 /**
185 * @JSFProperty
186 * @return the textClass
187 */
188 public abstract String getTextClass();
189
190 /**
191 * @JSFProperty
192 * @return the titleClass
193 */
194 public abstract String getTitleClass();
195
196 /**
197 * @JSFProperty
198 * @return the unevenClass
199 */
200 public abstract String getUnevenClass();
201
202 /**
203 * the css class of the table representing a week in the compact mode (default: week)
204 *
205 * @JSFProperty
206 * @return the weekClass
207 */
208 public abstract String getWeekClass();
209
210 }
211 //The End