// WARNING: This file was automatically generated. Do not edit it directly,
//          or you will lose your changes.
/*
 *  Licensed to the Apache Software Foundation (ASF) under one
 *  or more contributor license agreements.  See the NOTICE file
 *  distributed with this work for additional information
 *  regarding copyright ownership.  The ASF licenses this file
 *  to you under the Apache License, Version 2.0 (the
 *  "License"); you may not use this file except in compliance
 *  with the License.  You may obtain a copy of the License at
 * 
 *  http://www.apache.org/licenses/LICENSE-2.0
 * 
 *  Unless required by applicable law or agreed to in writing,
 *  software distributed under the License is distributed on an
 *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 *  KIND, either express or implied.  See the License for the
 *  specific language governing permissions and limitations
 *  under the License.
 */
package org.apache.myfaces.custom.schedule;

import javax.faces.component.UIComponent;
import javax.faces.el.ValueBinding;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import java.util.Date;
import javax.faces.el.MethodBinding;


// Generated from class org.apache.myfaces.custom.schedule.AbstractHtmlSchedule.
//
// WARNING: This file was automatically generated. Do not edit it directly,
//          or you will lose your changes.
public class ScheduleTag
    extends javax.faces.webapp.UIComponentTag
{
    public ScheduleTag()
    {    
    }
    
    public String getComponentType()
    {
        return "org.apache.myfaces.Schedule";
    }

    public String getRendererType()
    {
        return "org.apache.myfaces.Schedule";
    }

 
    private String _backgroundClass;
    
    public void setBackgroundClass(String backgroundClass)
    {
        _backgroundClass = backgroundClass;
    }
 
    private String _columnClass;
    
    public void setColumnClass(String columnClass)
    {
        _columnClass = columnClass;
    }
 
    private String _contentClass;
    
    public void setContentClass(String contentClass)
    {
        _contentClass = contentClass;
    }
 
    private String _dateClass;
    
    public void setDateClass(String dateClass)
    {
        _dateClass = dateClass;
    }
 
    private String _dayClass;
    
    public void setDayClass(String dayClass)
    {
        _dayClass = dayClass;
    }
 
    private String _entryClass;
    
    public void setEntryClass(String entryClass)
    {
        _entryClass = entryClass;
    }
 
    private String _entryRenderer;
    
    public void setEntryRenderer(String entryRenderer)
    {
        _entryRenderer = entryRenderer;
    }
 
    private String _evenClass;
    
    public void setEvenClass(String evenClass)
    {
        _evenClass = evenClass;
    }
 
    private String _foregroundClass;
    
    public void setForegroundClass(String foregroundClass)
    {
        _foregroundClass = foregroundClass;
    }
 
    private String _freeClass;
    
    public void setFreeClass(String freeClass)
    {
        _freeClass = freeClass;
    }
 
    private String _gutterClass;
    
    public void setGutterClass(String gutterClass)
    {
        _gutterClass = gutterClass;
    }
 
    private String _headerClass;
    
    public void setHeaderClass(String headerClass)
    {
        _headerClass = headerClass;
    }
 
    private String _holidayClass;
    
    public void setHolidayClass(String holidayClass)
    {
        _holidayClass = holidayClass;
    }
 
    private String _hoursClass;
    
    public void setHoursClass(String hoursClass)
    {
        _hoursClass = hoursClass;
    }
 
    private String _inactiveDayClass;
    
    public void setInactiveDayClass(String inactiveDayClass)
    {
        _inactiveDayClass = inactiveDayClass;
    }
 
    private String _minutesClass;
    
    public void setMinutesClass(String minutesClass)
    {
        _minutesClass = minutesClass;
    }
 
    private String _monthClass;
    
    public void setMonthClass(String monthClass)
    {
        _monthClass = monthClass;
    }
 
    private String _selectedClass;
    
    public void setSelectedClass(String selectedClass)
    {
        _selectedClass = selectedClass;
    }
 
    private String _selectedEntryClass;
    
    public void setSelectedEntryClass(String selectedEntryClass)
    {
        _selectedEntryClass = selectedEntryClass;
    }
 
    private String _subtitleClass;
    
    public void setSubtitleClass(String subtitleClass)
    {
        _subtitleClass = subtitleClass;
    }
 
    private String _textClass;
    
    public void setTextClass(String textClass)
    {
        _textClass = textClass;
    }
 
    private String _titleClass;
    
    public void setTitleClass(String titleClass)
    {
        _titleClass = titleClass;
    }
 
    private String _unevenClass;
    
    public void setUnevenClass(String unevenClass)
    {
        _unevenClass = unevenClass;
    }
 
    private String _weekClass;
    
    public void setWeekClass(String weekClass)
    {
        _weekClass = weekClass;
    }
 
    private String _enabledOnUserRole;
    
    public void setEnabledOnUserRole(String enabledOnUserRole)
    {
        _enabledOnUserRole = enabledOnUserRole;
    }
 
    private String _visibleOnUserRole;
    
    public void setVisibleOnUserRole(String visibleOnUserRole)
    {
        _visibleOnUserRole = visibleOnUserRole;
    }
 
    private String _action;
    
    public void setAction(String action)
    {
        _action = action;
    }
 
    private String _actionListener;
    
    public void setActionListener(String actionListener)
    {
        _actionListener = actionListener;
    }
 
    private String _mouseListener;
    
    public void setMouseListener(String mouseListener)
    {
        _mouseListener = mouseListener;
    }
 
    private String _splitWeekend;
    
    public void setSplitWeekend(String splitWeekend)
    {
        _splitWeekend = splitWeekend;
    }
 
    private String _submitOnClick;
    
    public void setSubmitOnClick(String submitOnClick)
    {
        _submitOnClick = submitOnClick;
    }
 
    private String _compactMonthRowHeight;
    
    public void setCompactMonthRowHeight(String compactMonthRowHeight)
    {
        _compactMonthRowHeight = compactMonthRowHeight;
    }
 
    private String _compactWeekRowHeight;
    
    public void setCompactWeekRowHeight(String compactWeekRowHeight)
    {
        _compactWeekRowHeight = compactWeekRowHeight;
    }
 
    private String _converter;
    
    public void setConverter(String converter)
    {
        _converter = converter;
    }
 
    private String _detailedRowHeight;
    
    public void setDetailedRowHeight(String detailedRowHeight)
    {
        _detailedRowHeight = detailedRowHeight;
    }
 
    private String _expandToFitEntries;
    
    public void setExpandToFitEntries(String expandToFitEntries)
    {
        _expandToFitEntries = expandToFitEntries;
    }
 
    private String _headerDateFormat;
    
    public void setHeaderDateFormat(String headerDateFormat)
    {
        _headerDateFormat = headerDateFormat;
    }
 
    private String _immediate;
    
    public void setImmediate(String immediate)
    {
        _immediate = immediate;
    }
 
    private String _readonly;
    
    public void setReadonly(String readonly)
    {
        _readonly = readonly;
    }
 
    private String _renderZeroLengthEntries;
    
    public void setRenderZeroLengthEntries(String renderZeroLengthEntries)
    {
        _renderZeroLengthEntries = renderZeroLengthEntries;
    }
 
    private String _theme;
    
    public void setTheme(String theme)
    {
        _theme = theme;
    }
 
    private String _tooltip;
    
    public void setTooltip(String tooltip)
    {
        _tooltip = tooltip;
    }
 
    private String _value;
    
    public void setValue(String value)
    {
        _value = value;
    }
 
    private String _visibleEndHour;
    
    public void setVisibleEndHour(String visibleEndHour)
    {
        _visibleEndHour = visibleEndHour;
    }
 
    private String _visibleStartHour;
    
    public void setVisibleStartHour(String visibleStartHour)
    {
        _visibleStartHour = visibleStartHour;
    }
 
    private String _workingEndHour;
    
    public void setWorkingEndHour(String workingEndHour)
    {
        _workingEndHour = workingEndHour;
    }
 
    private String _workingStartHour;
    
    public void setWorkingStartHour(String workingStartHour)
    {
        _workingStartHour = workingStartHour;
    }
 
    private String _hourNotation;
    
    public void setHourNotation(String hourNotation)
    {
        _hourNotation = hourNotation;
    }
 
    private String _compactMonthDayOfWeekDateFormat;
    
    public void setCompactMonthDayOfWeekDateFormat(String compactMonthDayOfWeekDateFormat)
    {
        _compactMonthDayOfWeekDateFormat = compactMonthDayOfWeekDateFormat;
    }

    protected void setProperties(UIComponent component)
    {
        if (!(component instanceof org.apache.myfaces.custom.schedule.HtmlSchedule))
        {
            throw new IllegalArgumentException("Component "+
                component.getClass().getName() +" is no org.apache.myfaces.custom.schedule.HtmlSchedule");
        }
        
        org.apache.myfaces.custom.schedule.HtmlSchedule comp = (org.apache.myfaces.custom.schedule.HtmlSchedule) component;
        
        super.setProperties(component);
        
        FacesContext context = getFacesContext();

        if (_backgroundClass != null)
        {
            if (isValueReference(_backgroundClass))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_backgroundClass);
                comp.setValueBinding("backgroundClass", vb);
            }
            else
            {
                comp.getAttributes().put("backgroundClass", _backgroundClass);
            }
        } 
        if (_columnClass != null)
        {
            if (isValueReference(_columnClass))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_columnClass);
                comp.setValueBinding("columnClass", vb);
            }
            else
            {
                comp.getAttributes().put("columnClass", _columnClass);
            }
        } 
        if (_contentClass != null)
        {
            if (isValueReference(_contentClass))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_contentClass);
                comp.setValueBinding("contentClass", vb);
            }
            else
            {
                comp.getAttributes().put("contentClass", _contentClass);
            }
        } 
        if (_dateClass != null)
        {
            if (isValueReference(_dateClass))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_dateClass);
                comp.setValueBinding("dateClass", vb);
            }
            else
            {
                comp.getAttributes().put("dateClass", _dateClass);
            }
        } 
        if (_dayClass != null)
        {
            if (isValueReference(_dayClass))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_dayClass);
                comp.setValueBinding("dayClass", vb);
            }
            else
            {
                comp.getAttributes().put("dayClass", _dayClass);
            }
        } 
        if (_entryClass != null)
        {
            if (isValueReference(_entryClass))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_entryClass);
                comp.setValueBinding("entryClass", vb);
            }
            else
            {
                comp.getAttributes().put("entryClass", _entryClass);
            }
        } 
        if (_entryRenderer != null)
        {
            if (isValueReference(_entryRenderer))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_entryRenderer);
                comp.setValueBinding("entryRenderer", vb);
            }
            else
            {
                comp.getAttributes().put("entryRenderer", _entryRenderer);
            }
        } 
        if (_evenClass != null)
        {
            if (isValueReference(_evenClass))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_evenClass);
                comp.setValueBinding("evenClass", vb);
            }
            else
            {
                comp.getAttributes().put("evenClass", _evenClass);
            }
        } 
        if (_foregroundClass != null)
        {
            if (isValueReference(_foregroundClass))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_foregroundClass);
                comp.setValueBinding("foregroundClass", vb);
            }
            else
            {
                comp.getAttributes().put("foregroundClass", _foregroundClass);
            }
        } 
        if (_freeClass != null)
        {
            if (isValueReference(_freeClass))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_freeClass);
                comp.setValueBinding("freeClass", vb);
            }
            else
            {
                comp.getAttributes().put("freeClass", _freeClass);
            }
        } 
        if (_gutterClass != null)
        {
            if (isValueReference(_gutterClass))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_gutterClass);
                comp.setValueBinding("gutterClass", vb);
            }
            else
            {
                comp.getAttributes().put("gutterClass", _gutterClass);
            }
        } 
        if (_headerClass != null)
        {
            if (isValueReference(_headerClass))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_headerClass);
                comp.setValueBinding("headerClass", vb);
            }
            else
            {
                comp.getAttributes().put("headerClass", _headerClass);
            }
        } 
        if (_holidayClass != null)
        {
            if (isValueReference(_holidayClass))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_holidayClass);
                comp.setValueBinding("holidayClass", vb);
            }
            else
            {
                comp.getAttributes().put("holidayClass", _holidayClass);
            }
        } 
        if (_hoursClass != null)
        {
            if (isValueReference(_hoursClass))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_hoursClass);
                comp.setValueBinding("hoursClass", vb);
            }
            else
            {
                comp.getAttributes().put("hoursClass", _hoursClass);
            }
        } 
        if (_inactiveDayClass != null)
        {
            if (isValueReference(_inactiveDayClass))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_inactiveDayClass);
                comp.setValueBinding("inactiveDayClass", vb);
            }
            else
            {
                comp.getAttributes().put("inactiveDayClass", _inactiveDayClass);
            }
        } 
        if (_minutesClass != null)
        {
            if (isValueReference(_minutesClass))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_minutesClass);
                comp.setValueBinding("minutesClass", vb);
            }
            else
            {
                comp.getAttributes().put("minutesClass", _minutesClass);
            }
        } 
        if (_monthClass != null)
        {
            if (isValueReference(_monthClass))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_monthClass);
                comp.setValueBinding("monthClass", vb);
            }
            else
            {
                comp.getAttributes().put("monthClass", _monthClass);
            }
        } 
        if (_selectedClass != null)
        {
            if (isValueReference(_selectedClass))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_selectedClass);
                comp.setValueBinding("selectedClass", vb);
            }
            else
            {
                comp.getAttributes().put("selectedClass", _selectedClass);
            }
        } 
        if (_selectedEntryClass != null)
        {
            if (isValueReference(_selectedEntryClass))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_selectedEntryClass);
                comp.setValueBinding("selectedEntryClass", vb);
            }
            else
            {
                comp.getAttributes().put("selectedEntryClass", _selectedEntryClass);
            }
        } 
        if (_subtitleClass != null)
        {
            if (isValueReference(_subtitleClass))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_subtitleClass);
                comp.setValueBinding("subtitleClass", vb);
            }
            else
            {
                comp.getAttributes().put("subtitleClass", _subtitleClass);
            }
        } 
        if (_textClass != null)
        {
            if (isValueReference(_textClass))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_textClass);
                comp.setValueBinding("textClass", vb);
            }
            else
            {
                comp.getAttributes().put("textClass", _textClass);
            }
        } 
        if (_titleClass != null)
        {
            if (isValueReference(_titleClass))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_titleClass);
                comp.setValueBinding("titleClass", vb);
            }
            else
            {
                comp.getAttributes().put("titleClass", _titleClass);
            }
        } 
        if (_unevenClass != null)
        {
            if (isValueReference(_unevenClass))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_unevenClass);
                comp.setValueBinding("unevenClass", vb);
            }
            else
            {
                comp.getAttributes().put("unevenClass", _unevenClass);
            }
        } 
        if (_weekClass != null)
        {
            if (isValueReference(_weekClass))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_weekClass);
                comp.setValueBinding("weekClass", vb);
            }
            else
            {
                comp.getAttributes().put("weekClass", _weekClass);
            }
        } 
        if (_enabledOnUserRole != null)
        {
            if (isValueReference(_enabledOnUserRole))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_enabledOnUserRole);
                comp.setValueBinding("enabledOnUserRole", vb);
            }
            else
            {
                comp.getAttributes().put("enabledOnUserRole", _enabledOnUserRole);
            }
        } 
        if (_visibleOnUserRole != null)
        {
            if (isValueReference(_visibleOnUserRole))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_visibleOnUserRole);
                comp.setValueBinding("visibleOnUserRole", vb);
            }
            else
            {
                comp.getAttributes().put("visibleOnUserRole", _visibleOnUserRole);
            }
        } 
        if (_action != null)
        {
            MethodBinding mb;
            if (isValueReference(_action))
            {
                mb = context.getApplication().createMethodBinding(
                    _action, new Class[0]);            
            }
            else
            {
                mb = new org.apache.myfaces.shared_tomahawk.el.SimpleActionMethodBinding(_action);
            }
            comp.setAction(mb);
        }
        if (_actionListener != null)
        {
            MethodBinding mb = context.getApplication().createMethodBinding(
                _actionListener, new Class[]{javax.faces.event.ActionEvent.class,});
            comp.setActionListener(mb);
        }
        if (_mouseListener != null)
        {
            MethodBinding mb = context.getApplication().createMethodBinding(
                _mouseListener, new Class[]{org.apache.myfaces.custom.schedule.ScheduleMouseEvent.class,});
            comp.setMouseListener(mb);
        }
        if (_splitWeekend != null)
        {
            if (isValueReference(_splitWeekend))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_splitWeekend);
                comp.setValueBinding("splitWeekend", vb);
            }
            else
            {
                comp.getAttributes().put("splitWeekend", Boolean.valueOf(_splitWeekend));
            }
        } 
        if (_submitOnClick != null)
        {
            if (isValueReference(_submitOnClick))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_submitOnClick);
                comp.setValueBinding("submitOnClick", vb);
            }
            else
            {
                comp.getAttributes().put("submitOnClick", Boolean.valueOf(_submitOnClick));
            }
        } 
        if (_compactMonthRowHeight != null)
        {
            if (isValueReference(_compactMonthRowHeight))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_compactMonthRowHeight);
                comp.setValueBinding("compactMonthRowHeight", vb);
            }
            else
            {
                comp.getAttributes().put("compactMonthRowHeight", Integer.valueOf(_compactMonthRowHeight));
            }
        } 
        if (_compactWeekRowHeight != null)
        {
            if (isValueReference(_compactWeekRowHeight))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_compactWeekRowHeight);
                comp.setValueBinding("compactWeekRowHeight", vb);
            }
            else
            {
                comp.getAttributes().put("compactWeekRowHeight", Integer.valueOf(_compactWeekRowHeight));
            }
        } 
        if (_converter != null)
        {
            if (isValueReference(_converter))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_converter);
                comp.setValueBinding("converter", vb);
            }
            else
            {
                Converter converter = getFacesContext().getApplication().createConverter(_converter);
                comp.setConverter(converter);
            }
        }
        if (_detailedRowHeight != null)
        {
            if (isValueReference(_detailedRowHeight))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_detailedRowHeight);
                comp.setValueBinding("detailedRowHeight", vb);
            }
            else
            {
                comp.getAttributes().put("detailedRowHeight", Integer.valueOf(_detailedRowHeight));
            }
        } 
        if (_expandToFitEntries != null)
        {
            if (isValueReference(_expandToFitEntries))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_expandToFitEntries);
                comp.setValueBinding("expandToFitEntries", vb);
            }
            else
            {
                comp.getAttributes().put("expandToFitEntries", Boolean.valueOf(_expandToFitEntries));
            }
        } 
        if (_headerDateFormat != null)
        {
            if (isValueReference(_headerDateFormat))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_headerDateFormat);
                comp.setValueBinding("headerDateFormat", vb);
            }
            else
            {
                comp.getAttributes().put("headerDateFormat", _headerDateFormat);
            }
        } 
        if (_immediate != null)
        {
            if (isValueReference(_immediate))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_immediate);
                comp.setValueBinding("immediate", vb);
            }
            else
            {
                comp.getAttributes().put("immediate", Boolean.valueOf(_immediate));
            }
        } 
        if (_readonly != null)
        {
            if (isValueReference(_readonly))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_readonly);
                comp.setValueBinding("readonly", vb);
            }
            else
            {
                comp.getAttributes().put("readonly", Boolean.valueOf(_readonly));
            }
        } 
        if (_renderZeroLengthEntries != null)
        {
            if (isValueReference(_renderZeroLengthEntries))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_renderZeroLengthEntries);
                comp.setValueBinding("renderZeroLengthEntries", vb);
            }
            else
            {
                comp.getAttributes().put("renderZeroLengthEntries", Boolean.valueOf(_renderZeroLengthEntries));
            }
        } 
        if (_theme != null)
        {
            if (isValueReference(_theme))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_theme);
                comp.setValueBinding("theme", vb);
            }
            else
            {
                comp.getAttributes().put("theme", _theme);
            }
        } 
        if (_tooltip != null)
        {
            if (isValueReference(_tooltip))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_tooltip);
                comp.setValueBinding("tooltip", vb);
            }
            else
            {
                comp.getAttributes().put("tooltip", Boolean.valueOf(_tooltip));
            }
        } 
        if (_value != null)
        {
            if (isValueReference(_value))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_value);
                comp.setValueBinding("value", vb);
            }
            else
            {
                comp.getAttributes().put("value", _value);
            }
        } 
        if (_visibleEndHour != null)
        {
            if (isValueReference(_visibleEndHour))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_visibleEndHour);
                comp.setValueBinding("visibleEndHour", vb);
            }
            else
            {
                comp.getAttributes().put("visibleEndHour", Integer.valueOf(_visibleEndHour));
            }
        } 
        if (_visibleStartHour != null)
        {
            if (isValueReference(_visibleStartHour))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_visibleStartHour);
                comp.setValueBinding("visibleStartHour", vb);
            }
            else
            {
                comp.getAttributes().put("visibleStartHour", Integer.valueOf(_visibleStartHour));
            }
        } 
        if (_workingEndHour != null)
        {
            if (isValueReference(_workingEndHour))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_workingEndHour);
                comp.setValueBinding("workingEndHour", vb);
            }
            else
            {
                comp.getAttributes().put("workingEndHour", Integer.valueOf(_workingEndHour));
            }
        } 
        if (_workingStartHour != null)
        {
            if (isValueReference(_workingStartHour))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_workingStartHour);
                comp.setValueBinding("workingStartHour", vb);
            }
            else
            {
                comp.getAttributes().put("workingStartHour", Integer.valueOf(_workingStartHour));
            }
        } 
        if (_hourNotation != null)
        {
            if (isValueReference(_hourNotation))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_hourNotation);
                comp.setValueBinding("hourNotation", vb);
            }
            else
            {
                comp.getAttributes().put("hourNotation", _hourNotation);
            }
        } 
        if (_compactMonthDayOfWeekDateFormat != null)
        {
            if (isValueReference(_compactMonthDayOfWeekDateFormat))
            {
                ValueBinding vb = context.getApplication().createValueBinding(_compactMonthDayOfWeekDateFormat);
                comp.setValueBinding("compactMonthDayOfWeekDateFormat", vb);
            }
            else
            {
                comp.getAttributes().put("compactMonthDayOfWeekDateFormat", _compactMonthDayOfWeekDateFormat);
            }
        } 
    }

    public void release()
    {
        super.release();
        _backgroundClass = null;
        _columnClass = null;
        _contentClass = null;
        _dateClass = null;
        _dayClass = null;
        _entryClass = null;
        _entryRenderer = null;
        _evenClass = null;
        _foregroundClass = null;
        _freeClass = null;
        _gutterClass = null;
        _headerClass = null;
        _holidayClass = null;
        _hoursClass = null;
        _inactiveDayClass = null;
        _minutesClass = null;
        _monthClass = null;
        _selectedClass = null;
        _selectedEntryClass = null;
        _subtitleClass = null;
        _textClass = null;
        _titleClass = null;
        _unevenClass = null;
        _weekClass = null;
        _enabledOnUserRole = null;
        _visibleOnUserRole = null;
        _action = null;
        _actionListener = null;
        _mouseListener = null;
        _splitWeekend = null;
        _submitOnClick = null;
        _compactMonthRowHeight = null;
        _compactWeekRowHeight = null;
        _converter = null;
        _detailedRowHeight = null;
        _expandToFitEntries = null;
        _headerDateFormat = null;
        _immediate = null;
        _readonly = null;
        _renderZeroLengthEntries = null;
        _theme = null;
        _tooltip = null;
        _value = null;
        _visibleEndHour = null;
        _visibleStartHour = null;
        _workingEndHour = null;
        _workingStartHour = null;
        _hourNotation = null;
        _compactMonthDayOfWeekDateFormat = null;
    }
}