001/**
002 * Copyright 2005-2016 The Kuali Foundation
003 *
004 * Licensed under the Educational Community License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 * http://www.opensource.org/licenses/ecl2.php
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016package org.kuali.rice.krad.uif.control;
017
018import org.kuali.rice.krad.uif.component.ComponentBase;
019
020/**
021 * Base class for all <code>Control</code> implementations
022 * 
023 * @author Kuali Rice Team (rice.collab@kuali.org)
024 * 
025 * @see org.kuali.rice.krad.uif.control.Control
026 */
027public abstract class ControlBase extends ComponentBase implements Control {
028        private static final long serialVersionUID = -7898244978136312663L;
029        
030        private int tabIndex;
031
032    private boolean disabled;
033    private String disabledReason;
034
035    public ControlBase() {
036        super();
037
038        disabled = false;
039    }
040
041        /**
042         * @see org.kuali.rice.krad.uif.component.Component#getComponentTypeName()
043         */
044        @Override
045        public final String getComponentTypeName() {
046                return "control";
047        }
048
049    /**
050     * @see Control#getTabIndex()
051     */
052        public int getTabIndex() {
053                return this.tabIndex;
054        }
055
056    /**
057     * @see Control#setTabIndex(int)
058     */
059        public void setTabIndex(int tabIndex) {
060                this.tabIndex = tabIndex;
061        }
062
063    /**
064     * @see Control#isDisabled()
065     */
066    public boolean isDisabled() {
067        return disabled;
068    }
069
070    /**
071     * @see Control#setDisabled(boolean)
072     */
073    public void setDisabled(boolean disabled) {
074        this.disabled = disabled;
075    }
076
077    /**
078     * @see Control#getDisabledReason()
079     */
080    public String getDisabledReason() {
081        return disabledReason;
082    }
083
084    /**
085     * @see Control#setDisabledReason(java.lang.String)
086     */
087    public void setDisabledReason(String disabledReason) {
088        this.disabledReason = disabledReason;
089    }
090
091    @Override
092    public boolean getSupportsOnChange() {
093        return true;
094    }
095
096    @Override
097    public boolean getSupportsOnBlur() {
098        return true;
099    }
100
101    @Override
102    public boolean getSupportsOnClick() {
103        return true;
104    }
105
106    @Override
107    public boolean getSupportsOnDblClick() {
108        return true;
109    }
110
111    @Override
112    public boolean getSupportsOnFocus() {
113        return true;
114    }
115}