blob: a7fda0cb4938a29038290f0b4c11107c03bf3c22 [file] [log] [blame]
/*
* 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.view.facelets.component;
import java.util.HashMap;
import java.util.Map;
import javax.faces.component.UIComponent;
/**
*
* @author lu4242
*/
class _CommonEventConstants
{
public static final String COMMON_EVENTS_MARKED = "oam.COMMON_EVENTS_MARKED";
public static final long ACTION_EVENT = 0x1L;
public static final long CLICK_EVENT = 0x2L;
public static final long DBLCLICK_EVENT = 0x4L;
public static final long MOUSEDOWN_EVENT = 0x8L;
public static final long MOUSEUP_EVENT = 0x10L;
public static final long MOUSEOVER_EVENT = 0x20L;
public static final long MOUSEMOVE_EVENT = 0x40L;
public static final long MOUSEOUT_EVENT = 0x80L;
public static final long KEYPRESS_EVENT = 0x100L;
public static final long KEYDOWN_EVENT = 0x200L;
public static final long KEYUP_EVENT = 0x400L;
public static final long FOCUS_EVENT = 0x800L;
public static final long BLUR_EVENT = 0x1000L;
public static final long SELECT_EVENT = 0x2000L;
public static final long CHANGE_EVENT = 0x4000L;
public static final long VALUECHANGE_EVENT = 0x8000L;
public static final long LOAD_EVENT = 0x10000L;
public static final long UNLOAD_EVENT = 0x20000L;
public static final Map<String, Long> COMMON_EVENTS_KEY_BY_NAME = new HashMap<String, Long>(24,1);
static
{
//EVENTS
COMMON_EVENTS_KEY_BY_NAME.put("change", CHANGE_EVENT);
COMMON_EVENTS_KEY_BY_NAME.put("select", SELECT_EVENT);
COMMON_EVENTS_KEY_BY_NAME.put("click", CLICK_EVENT);
COMMON_EVENTS_KEY_BY_NAME.put("dblclick", DBLCLICK_EVENT);
COMMON_EVENTS_KEY_BY_NAME.put("mousedown",MOUSEDOWN_EVENT);
COMMON_EVENTS_KEY_BY_NAME.put("mouseup", MOUSEUP_EVENT);
COMMON_EVENTS_KEY_BY_NAME.put("mouseover",MOUSEOVER_EVENT);
COMMON_EVENTS_KEY_BY_NAME.put("mousemove",MOUSEMOVE_EVENT);
COMMON_EVENTS_KEY_BY_NAME.put("mouseout", MOUSEOUT_EVENT);
COMMON_EVENTS_KEY_BY_NAME.put("keypress", KEYPRESS_EVENT);
COMMON_EVENTS_KEY_BY_NAME.put("keydown", KEYDOWN_EVENT);
COMMON_EVENTS_KEY_BY_NAME.put("keyup", KEYUP_EVENT);
COMMON_EVENTS_KEY_BY_NAME.put("focus", FOCUS_EVENT);
COMMON_EVENTS_KEY_BY_NAME.put("blur", BLUR_EVENT);
COMMON_EVENTS_KEY_BY_NAME.put("load", LOAD_EVENT);
COMMON_EVENTS_KEY_BY_NAME.put("unload", UNLOAD_EVENT);
//virtual
COMMON_EVENTS_KEY_BY_NAME.put("valueChange", VALUECHANGE_EVENT);
COMMON_EVENTS_KEY_BY_NAME.put("action", ACTION_EVENT);
}
public static void markEvent(UIComponent component, String name)
{
Long propertyConstant = COMMON_EVENTS_KEY_BY_NAME.get(name);
if (propertyConstant == null)
{
return;
}
Long commonPropertiesSet = (Long) component.getAttributes().get(COMMON_EVENTS_MARKED);
if (commonPropertiesSet == null)
{
commonPropertiesSet = 0L;
}
component.getAttributes().put(COMMON_EVENTS_MARKED, commonPropertiesSet | propertyConstant);
}
}