You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ta...@apache.org on 2021/02/15 11:39:11 UTC

[myfaces] branch master updated: Jakarta Faces 4.0 - base work for new HTML5 events

This is an automated email from the ASF dual-hosted git repository.

tandraschko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/myfaces.git


The following commit(s) were added to refs/heads/master by this push:
     new 4bc5d59  Jakarta Faces 4.0 - base work for new HTML5 events
4bc5d59 is described below

commit 4bc5d5997e851217332db63124b00d1b7ef56d04
Author: Thomas Andraschko <ta...@apache.org>
AuthorDate: Mon Feb 15 12:39:02 2021 +0100

    Jakarta Faces 4.0 - base work for new HTML5 events
---
 .../component/html/_CommonEventConstants.java      |  88 ---------
 .../core/api/shared/CommonEventConstants.java      | 123 +++++++++++++
 .../core/api/shared/CommonPropertyConstants.java}  |  56 +++++-
 .../main/resources/META-INF/componentClass20.vm    |  28 ++-
 .../myfaces/renderkit/html/HtmlFormatRenderer.java |   2 +-
 .../base/HtmlOutcomeTargetButtonRendererBase.java  |   2 +-
 .../renderkit/html/base/HtmlTextRendererBase.java  |   2 +-
 .../renderkit/html/util/CommonEventUtils.java      |   1 +
 .../html/util/CommonPropertyConstants.java         | 205 ---------------------
 .../renderkit/html/util/CommonPropertyUtils.java   |   1 +
 .../facelets/component/_CommonEventConstants.java  |  92 ---------
 .../component/_CommonPropertyConstants.java        | 204 --------------------
 .../main/resources/META-INF/componentClass20.vm    |   8 +-
 13 files changed, 209 insertions(+), 603 deletions(-)

diff --git a/api/src/main/java/jakarta/faces/component/html/_CommonEventConstants.java b/api/src/main/java/jakarta/faces/component/html/_CommonEventConstants.java
deleted file mode 100644
index 4366f30..0000000
--- a/api/src/main/java/jakarta/faces/component/html/_CommonEventConstants.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * 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 jakarta.faces.component.html;
-
-import java.util.HashMap;
-import java.util.Map;
-import jakarta.faces.component.UIComponent;
-
-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);
-    }
-}
diff --git a/api/src/main/java/org/apache/myfaces/core/api/shared/CommonEventConstants.java b/api/src/main/java/org/apache/myfaces/core/api/shared/CommonEventConstants.java
new file mode 100644
index 0000000..841e07c
--- /dev/null
+++ b/api/src/main/java/org/apache/myfaces/core/api/shared/CommonEventConstants.java
@@ -0,0 +1,123 @@
+/*
+ * 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.core.api.shared;
+
+import java.util.HashMap;
+import java.util.Map;
+import jakarta.faces.component.UIComponent;
+
+public class CommonEventConstants
+{
+    public static final String COMMON_EVENTS_MARKED = "oam.COMMON_EVENTS_MARKED";
+    
+    public static final long ACTION        = 0x1L;
+    public static final long CLICK         = 0x2L;
+    public static final long DBLCLICK      = 0x4L;
+    public static final long MOUSEDOWN     = 0x8L;
+    public static final long MOUSEUP       = 0x10L;
+    public static final long MOUSEOVER     = 0x20L;
+    public static final long MOUSEMOVE     = 0x40L;
+    public static final long MOUSEOUT      = 0x80L;
+    public static final long KEYPRESS      = 0x100L;
+    public static final long KEYDOWN       = 0x200L;
+    public static final long KEYUP         = 0x400L;
+    public static final long FOCUS         = 0x800L;
+    public static final long BLUR          = 0x1000L;
+    public static final long SELECT        = 0x2000L;
+    public static final long CHANGE        = 0x4000L;
+    public static final long VALUECHANGE   = 0x8000L;
+    public static final long LOAD          = 0x10000L;
+    public static final long UNLOAD        = 0x20000L;
+    public static final long INPUT         = 0x40000L;
+    public static final long INVALID       = 0x80000L;
+    public static final long RESET         = 0x100000L;
+    public static final long CONTEXTMENU   = 0x200000L;
+    public static final long SUBMIT        = 0x400000L;
+    public static final long WHEEL         = 0x800000L;
+    public static final long COPY          = 0x1000000L;
+    public static final long CUT           = 0x2000000L;
+    public static final long PASTE         = 0x4000000L;
+    public static final long DRAG          = 0x8000000L;
+    public static final long DRAGEND       = 0x10000000L;
+    public static final long DRAGENTER     = 0x20000000L;
+    public static final long DRAGLEAVE     = 0x40000000L;
+    public static final long DRAGOVER      = 0x80000000L;
+    public static final long DRAGSTART     = 0x100000000L;
+    public static final long DROP          = 0x200000000L;
+    public static final long SCROLL        = 0x400000000L;
+
+    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);
+        COMMON_EVENTS_KEY_BY_NAME.put("select",      SELECT);
+        COMMON_EVENTS_KEY_BY_NAME.put("click",       CLICK);
+        COMMON_EVENTS_KEY_BY_NAME.put("dblclick",    DBLCLICK);
+        COMMON_EVENTS_KEY_BY_NAME.put("mousedown",   MOUSEDOWN);
+        COMMON_EVENTS_KEY_BY_NAME.put("mouseup",     MOUSEUP);
+        COMMON_EVENTS_KEY_BY_NAME.put("mouseover",   MOUSEOVER);
+        COMMON_EVENTS_KEY_BY_NAME.put("mousemove",   MOUSEMOVE);
+        COMMON_EVENTS_KEY_BY_NAME.put("mouseout",    MOUSEOUT);
+        COMMON_EVENTS_KEY_BY_NAME.put("keypress",    KEYPRESS);
+        COMMON_EVENTS_KEY_BY_NAME.put("keydown",     KEYDOWN);
+        COMMON_EVENTS_KEY_BY_NAME.put("keyup",       KEYUP);
+        COMMON_EVENTS_KEY_BY_NAME.put("focus",       FOCUS);
+        COMMON_EVENTS_KEY_BY_NAME.put("blur",        BLUR);
+        COMMON_EVENTS_KEY_BY_NAME.put("load",        LOAD);
+        COMMON_EVENTS_KEY_BY_NAME.put("unload",      UNLOAD);
+        COMMON_EVENTS_KEY_BY_NAME.put("input",       INPUT);
+        COMMON_EVENTS_KEY_BY_NAME.put("invalid",     INVALID);
+        COMMON_EVENTS_KEY_BY_NAME.put("reset",       RESET);
+        COMMON_EVENTS_KEY_BY_NAME.put("contextmenu", CONTEXTMENU);
+        COMMON_EVENTS_KEY_BY_NAME.put("submit",      SUBMIT);
+        COMMON_EVENTS_KEY_BY_NAME.put("wheel",       WHEEL);
+        COMMON_EVENTS_KEY_BY_NAME.put("copy",        COPY);
+        COMMON_EVENTS_KEY_BY_NAME.put("cut",         CUT);
+        COMMON_EVENTS_KEY_BY_NAME.put("paste",       PASTE);
+        COMMON_EVENTS_KEY_BY_NAME.put("drag",        DRAG);
+        COMMON_EVENTS_KEY_BY_NAME.put("dragend",     DRAGEND);
+        COMMON_EVENTS_KEY_BY_NAME.put("dragenter",   DRAGENTER);
+        COMMON_EVENTS_KEY_BY_NAME.put("dragleave",   DRAGLEAVE);
+        COMMON_EVENTS_KEY_BY_NAME.put("dragover",    DRAGOVER);
+        COMMON_EVENTS_KEY_BY_NAME.put("dragstart",   DRAGSTART);
+        COMMON_EVENTS_KEY_BY_NAME.put("drop",        DROP);
+        COMMON_EVENTS_KEY_BY_NAME.put("scroll",    SCROLL);
+        
+        //virtual
+        COMMON_EVENTS_KEY_BY_NAME.put("valueChange", VALUECHANGE);
+        COMMON_EVENTS_KEY_BY_NAME.put("action", ACTION);
+    }
+    
+    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);
+    }
+}
diff --git a/api/src/main/java/jakarta/faces/component/html/_CommonPropertyConstants.java b/api/src/main/java/org/apache/myfaces/core/api/shared/CommonPropertyConstants.java
similarity index 75%
rename from api/src/main/java/jakarta/faces/component/html/_CommonPropertyConstants.java
rename to api/src/main/java/org/apache/myfaces/core/api/shared/CommonPropertyConstants.java
index f61cf59..bf6b9ad 100644
--- a/api/src/main/java/jakarta/faces/component/html/_CommonPropertyConstants.java
+++ b/api/src/main/java/org/apache/myfaces/core/api/shared/CommonPropertyConstants.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package jakarta.faces.component.html;
+package org.apache.myfaces.core.api.shared;
 
 import java.util.HashMap;
 import java.util.Map;
@@ -31,13 +31,13 @@ import jakarta.faces.component.UIComponent;
  * org.apache.myfaces.shared.renderkit.html.CommonPropertyConstants.
  * Any changes here should be committed there too.
  */
-class _CommonPropertyConstants
+public class CommonPropertyConstants
 {
     public static final String COMMON_PROPERTIES_MARKED = "oam.COMMON_PROPERTIES_MARKED";
     
     //_StyleProperties
     public static final long STYLE_PROP       = 0x1L;
-    public static final long STYLECLASS_PROP = 0x2L;
+    public static final long STYLECLASS_PROP  = 0x2L;
     
     //_UniversalProperties
     //_TitleProperty
@@ -104,6 +104,30 @@ class _CommonPropertyConstants
     
     public static final long ROLE_PROP        = 0x8000000000L;
     
+    //HTML5
+    public static final long ONINPUT_PROP        = 0x1000000000L;
+    public static final long ONINVALID_PROP      = 0x2000000000L;
+    public static final long ONRESET_PROP        = 0x4000000000L;
+    
+    public static final long ONCONTEXTMENU_PROP  = 0x8000000000L;
+    
+    public static final long ONSUBMIT_PROP       = 0x10000000000L;
+
+    public static final long ONWHEEL_PROP        = 0x20000000000L;
+    
+    public static final long ONCOPY_PROP         = 0x40000000000L;
+    public static final long ONCUT_PROP          = 0x80000000000L;
+    public static final long ONPASTE_PROP        = 0x100000000000L;
+    
+    public static final long ONDRAG_PROP         = 0x200000000000L;
+    public static final long ONDRAGEND_PROP      = 0x400000000000L;
+    public static final long ONDRAGENTER_PROP    = 0x800000000000L;
+    public static final long ONDRAGLEAVE_PROP    = 0x1000000000000L;
+    public static final long ONDRAGOVER_PROP     = 0x2000000000000L;
+    public static final long ONDRAGSTART_PROP    = 0x4000000000000L;
+    public static final long ONDROP_PROP         = 0x8000000000000L;
+    public static final long ONSCROLL_PROP       = 0x10000000000000L;
+
     public static final Map<String, Long> COMMON_PROPERTIES_KEY_BY_NAME = new HashMap<String, Long>(64,1);
     
     static
@@ -177,8 +201,32 @@ class _CommonPropertyConstants
         
         // HTML5 role
         COMMON_PROPERTIES_KEY_BY_NAME.put("role",   ROLE_PROP);
+
+        // HTML 5
+        COMMON_PROPERTIES_KEY_BY_NAME.put("oninput",       ONINPUT_PROP);  
+        COMMON_PROPERTIES_KEY_BY_NAME.put("oninvalid",     ONINVALID_PROP);  
+        COMMON_PROPERTIES_KEY_BY_NAME.put("onreset",       ONRESET_PROP);  
+
+        COMMON_PROPERTIES_KEY_BY_NAME.put("oncontextmenu", ONCONTEXTMENU_PROP);  
+
+        COMMON_PROPERTIES_KEY_BY_NAME.put("onsubmit",      ONSUBMIT_PROP);
+        
+        COMMON_PROPERTIES_KEY_BY_NAME.put("onwheel",       ONWHEEL_PROP);
+        
+        COMMON_PROPERTIES_KEY_BY_NAME.put("oncopy",        ONCOPY_PROP);  
+        COMMON_PROPERTIES_KEY_BY_NAME.put("oncut",         ONCUT_PROP);  
+        COMMON_PROPERTIES_KEY_BY_NAME.put("onpaste",       ONPASTE_PROP);
+        
+        COMMON_PROPERTIES_KEY_BY_NAME.put("ondrag",        ONDRAG_PROP); 
+        COMMON_PROPERTIES_KEY_BY_NAME.put("ondragend",     ONDRAGEND_PROP); 
+        COMMON_PROPERTIES_KEY_BY_NAME.put("ondragenter",   ONDRAGENTER_PROP); 
+        COMMON_PROPERTIES_KEY_BY_NAME.put("ondragleave",   ONDRAGLEAVE_PROP); 
+        COMMON_PROPERTIES_KEY_BY_NAME.put("ondragover",    ONDRAGOVER_PROP); 
+        COMMON_PROPERTIES_KEY_BY_NAME.put("ondragstart",   ONDRAGSTART_PROP); 
+        COMMON_PROPERTIES_KEY_BY_NAME.put("ondrop",        ONDROP_PROP); 
+        COMMON_PROPERTIES_KEY_BY_NAME.put("onscroll",      ONSCROLL_PROP);         
     }
-    
+
     public static void markProperty(UIComponent component, String name)
     {
         Long propertyConstant = COMMON_PROPERTIES_KEY_BY_NAME.get(name);
diff --git a/api/src/main/resources/META-INF/componentClass20.vm b/api/src/main/resources/META-INF/componentClass20.vm
index 8524032..2228a65 100644
--- a/api/src/main/resources/META-INF/componentClass20.vm
+++ b/api/src/main/resources/META-INF/componentClass20.vm
@@ -37,6 +37,8 @@ import jakarta.el.ValueExpression;
 import jakarta.faces.context.FacesContext;
 import java.util.Collections;
 import org.apache.myfaces.core.api.shared.MessageUtils;
+import org.apache.myfaces.core.api.shared.CommonEventConstants;
+import org.apache.myfaces.core.api.shared.CommonPropertyConstants;
 $utils.importTagClasses($component)
 
 #if ($component.isTemplate())
@@ -126,7 +128,7 @@ $innersource
     public void addClientBehavior(String eventName, jakarta.faces.component.behavior.ClientBehavior behavior)
     {
         super.addClientBehavior(eventName, behavior);
-        _CommonEventConstants.markEvent(this, eventName);
+        CommonEventConstants.markEvent(this, eventName);
     }
 #end
 #end
@@ -319,10 +321,28 @@ $innersource
      $property.name == "checked" ||
      $property.name == "maxlength" ||
      $property.name == "size" ||
-     $property.name == "role"
+     $property.name == "role" ||
+     $property.name == "oninput" ||
+     $property.name == "oncontextmenu" ||
+     $property.name == "oninvalid" ||
+     $property.name == "onreset" ||
+     $property.name == "onsearch" ||
+     $property.name == "onsubmit" ||
+     $property.name == "onwheel" ||
+     $property.name == "oncopy" ||
+     $property.name == "oncut" ||
+     $property.name == "onpaste" ||
+     $property.name == "ondrag" ||
+     $property.name == "ondragend" ||
+     $property.name == "ondragenter" ||
+     $property.name == "ondragleave" ||
+     $property.name == "ondragover" ||
+     $property.name == "ondragstart" ||
+     $property.name == "ondrop" ||
+     $property.name == "onscroll"
       )
 #set($overrideSetValueExpression = true)
-        _CommonPropertyConstants.markProperty(this, _CommonPropertyConstants.${property.name.toUpperCase()}_PROP);
+        CommonPropertyConstants.markProperty(this, CommonPropertyConstants.${property.name.toUpperCase()}_PROP);
 #end
     }
 #end
@@ -332,7 +352,7 @@ $innersource
     public void setValueExpression(String name, ValueExpression expression)
     {
         super.setValueExpression(name, expression);
-        _CommonPropertyConstants.markProperty(this, name);
+        CommonPropertyConstants.markProperty(this, name);
     }
 #end
 
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlFormatRenderer.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlFormatRenderer.java
index 40ba34d..a9a24c7 100755
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlFormatRenderer.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlFormatRenderer.java
@@ -33,10 +33,10 @@ import jakarta.faces.context.FacesContext;
 import jakarta.faces.context.ResponseWriter;
 
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFRenderer;
+import org.apache.myfaces.core.api.shared.CommonPropertyConstants;
 import org.apache.myfaces.core.api.shared.ComponentUtils;
 import org.apache.myfaces.renderkit.html.util.JSFAttr;
 import org.apache.myfaces.renderkit.RendererUtils;
-import org.apache.myfaces.renderkit.html.util.CommonPropertyConstants;
 import org.apache.myfaces.renderkit.html.util.CommonPropertyUtils;
 import org.apache.myfaces.renderkit.html.util.HTML;
 import org.apache.myfaces.renderkit.html.base.HtmlRenderer;
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlOutcomeTargetButtonRendererBase.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlOutcomeTargetButtonRendererBase.java
index f5b4c1e..172cf35 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlOutcomeTargetButtonRendererBase.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlOutcomeTargetButtonRendererBase.java
@@ -20,7 +20,6 @@ package org.apache.myfaces.renderkit.html.base;
 
 import org.apache.myfaces.renderkit.html.util.HtmlRendererUtils;
 import org.apache.myfaces.renderkit.html.util.CommonPropertyUtils;
-import org.apache.myfaces.renderkit.html.util.CommonPropertyConstants;
 import java.io.IOException;
 import java.util.List;
 import java.util.Map;
@@ -33,6 +32,7 @@ import jakarta.faces.component.html.HtmlOutcomeTargetButton;
 import jakarta.faces.context.ExternalContext;
 import jakarta.faces.context.FacesContext;
 import jakarta.faces.context.ResponseWriter;
+import org.apache.myfaces.core.api.shared.CommonPropertyConstants;
 
 import org.apache.myfaces.renderkit.ClientBehaviorEvents;
 import org.apache.myfaces.renderkit.html.util.JSFAttr;
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlTextRendererBase.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlTextRendererBase.java
index da382e3..a464ffe 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlTextRendererBase.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlTextRendererBase.java
@@ -22,7 +22,6 @@ import org.apache.myfaces.renderkit.html.util.HtmlRendererUtils;
 import org.apache.myfaces.renderkit.html.util.ClientBehaviorRendererUtils;
 import org.apache.myfaces.renderkit.html.util.CommonPropertyUtils;
 import org.apache.myfaces.renderkit.html.util.CommonEventUtils;
-import org.apache.myfaces.renderkit.html.util.CommonPropertyConstants;
 import java.io.IOException;
 import java.util.List;
 import java.util.Map;
@@ -39,6 +38,7 @@ import jakarta.faces.component.html.HtmlOutputText;
 import jakarta.faces.context.FacesContext;
 import jakarta.faces.context.ResponseWriter;
 import jakarta.faces.convert.ConverterException;
+import org.apache.myfaces.core.api.shared.CommonPropertyConstants;
 
 import org.apache.myfaces.renderkit.html.util.JSFAttr;
 import org.apache.myfaces.renderkit.RendererUtils;
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/util/CommonEventUtils.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/util/CommonEventUtils.java
index bbedc06..4fd2d85 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/util/CommonEventUtils.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/util/CommonEventUtils.java
@@ -27,6 +27,7 @@ import jakarta.faces.component.behavior.ClientBehavior;
 import jakarta.faces.component.behavior.ClientBehaviorContext;
 import jakarta.faces.context.FacesContext;
 import jakarta.faces.context.ResponseWriter;
+import org.apache.myfaces.core.api.shared.CommonPropertyConstants;
 import org.apache.myfaces.renderkit.ClientBehaviorEvents;
 import org.apache.myfaces.renderkit.RendererUtils;
 
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/util/CommonPropertyConstants.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/util/CommonPropertyConstants.java
deleted file mode 100644
index 9d3561a..0000000
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/util/CommonPropertyConstants.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * 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.renderkit.html.util;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import jakarta.faces.component.UIComponent;
-
-/**
- * This is a list of the most common properties used by a JSF html
- * component, organized by interfaces.
- * 
- * This is a copy from jakarta.faces.component._CommonPropertyConstants
- * and should be synchronized with this copy on shared
- */
-public class CommonPropertyConstants
-{
-    public static final String COMMON_PROPERTIES_MARKED = "oam.COMMON_PROPERTIES_MARKED";
-    
-    //_StyleProperties
-    public static final long STYLE_PROP       = 0x1L;
-    public static final long STYLECLASS_PROP = 0x2L;
-    
-    //_UniversalProperties
-    //_TitleProperty
-    public static final long DIR_PROP         = 0x4L;
-    public static final long LANG_PROP        = 0x8L;
-    public static final long TITLE_PROP       = 0x10L;
-    
-    //_EscapeProperty
-    public static final long ESCAPE_PROP      = 0x20L;
-
-    //_DisabledClassEnabledClassProperties
-    //_DisabledReadonlyProperties
-    public static final long DISABLED_PROP    = 0x40L;
-    public static final long ENABLED_PROP     = 0x80L;
-    public static final long READONLY_PROP    = 0x100L;
-
-    //_AccesskeyProperty
-    public static final long ACCESSKEY_PROP  = 0x200L;
-    
-    //_AltProperty
-    public static final long ALT_PROP         = 0x400L;
-    
-    //_ChangeSelectProperties
-    public static final long ONCHANGE_PROP    = 0x800L;
-    public static final long ONSELECT_PROP    = 0x1000L;
-    
-    //_EventProperties
-    public static final long ONCLICK_PROP     = 0x2000L;
-    public static final long ONDBLCLICK_PROP  = 0x4000L;
-    public static final long ONMOUSEDOWN_PROP = 0x8000L;
-    public static final long ONMOUSEUP_PROP   = 0x10000L;
-    public static final long ONMOUSEOVER_PROP = 0x20000L;
-    public static final long ONMOUSEMOVE_PROP = 0x40000L;
-    public static final long ONMOUSEOUT_PROP  = 0x80000L;
-    public static final long ONKEYPRESS_PROP  = 0x100000L;
-    public static final long ONKEYDOWN_PROP   = 0x200000L;
-    public static final long ONKEYUP_PROP     = 0x400000L;
-    
-    //_FocusBlurProperties
-    public static final long ONFOCUS_PROP     = 0x800000L;
-    public static final long ONBLUR_PROP      = 0x1000000L;
-
-    //_LabelProperty
-    public static final long LABEL_PROP       = 0x2000000L;
-    
-    //_LinkProperties
-    public static final long CHARSET_PROP     = 0x4000000L;
-    public static final long COORDS_PROP      = 0x8000000L;
-    public static final long HREFLANG_PROP    = 0x10000000L;
-    public static final long REL_PROP         = 0x20000000L;
-    public static final long REV_PROP         = 0x40000000L;
-    public static final long SHAPE_PROP       = 0x80000000L;
-    public static final long TARGET_PROP      = 0x100000000L;
-    public static final long TYPE_PROP        = 0x200000000L;
-
-    //_TabindexProperty
-    public static final long TABINDEX_PROP    = 0x400000000L;
-    
-    //Common to input fields
-    public static final long ALIGN_PROP       = 0x800000000L;
-    public static final long CHECKED_PROP     = 0x1000000000L;
-    public static final long MAXLENGTH_PROP   = 0x2000000000L;
-    public static final long SIZE_PROP        = 0x4000000000L;
-    
-    public static final long ROLE_PROP        = 0x8000000000L;
-    
-    public static final Map<String, Long> COMMON_PROPERTIES_KEY_BY_NAME = new HashMap<String, Long>(64,1);
-    
-    static
-    {
-        COMMON_PROPERTIES_KEY_BY_NAME.put("style",      STYLE_PROP);
-        
-        COMMON_PROPERTIES_KEY_BY_NAME.put("styleClass", STYLECLASS_PROP);
-        
-        //_UniversalProperties
-        //_TitleProperty
-        COMMON_PROPERTIES_KEY_BY_NAME.put("dir",        DIR_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("lang",       LANG_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("title",      TITLE_PROP);
-        
-        //_EscapeProperty
-        COMMON_PROPERTIES_KEY_BY_NAME.put("escape",     ESCAPE_PROP);
-
-        //_DisabledClassEnabledClassProperties
-        //_DisabledReadonlyProperties
-        COMMON_PROPERTIES_KEY_BY_NAME.put("disabled",   DISABLED_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("enabled",    ENABLED_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("readonly",   READONLY_PROP);
-
-        //_AccesskeyProperty
-        COMMON_PROPERTIES_KEY_BY_NAME.put("accesskey",  ACCESSKEY_PROP);
-        
-        //_AltProperty
-        COMMON_PROPERTIES_KEY_BY_NAME.put("alt",        ALT_PROP);
-        
-        //_ChangeSelectProperties
-        COMMON_PROPERTIES_KEY_BY_NAME.put("onchange",   ONCHANGE_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("onselect",   ONSELECT_PROP);
-        
-        //_EventProperties
-        COMMON_PROPERTIES_KEY_BY_NAME.put("onclick",    ONCLICK_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("ondblclick", ONDBLCLICK_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("onmousedown",ONMOUSEDOWN_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("onmouseup",  ONMOUSEUP_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("onmouseover",ONMOUSEOVER_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("onmousemove",ONMOUSEMOVE_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("onmouseout", ONMOUSEOUT_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("onkeypress", ONKEYPRESS_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("onkeydown",  ONKEYDOWN_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("onkeyup",    ONKEYUP_PROP);
-        
-        //_FocusBlurProperties
-        COMMON_PROPERTIES_KEY_BY_NAME.put("onfocus",    ONFOCUS_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("onblur",     ONBLUR_PROP);
-
-        //_LabelProperty
-        COMMON_PROPERTIES_KEY_BY_NAME.put("label",      LABEL_PROP);
-        
-        //_LinkProperties
-        COMMON_PROPERTIES_KEY_BY_NAME.put("charset",    CHARSET_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("coords",     COORDS_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("hreflang",   HREFLANG_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("rel",        REL_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("rev",        REV_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("shape",      SHAPE_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("target",     TARGET_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("type",       TYPE_PROP);
-
-        //_TabindexProperty
-        COMMON_PROPERTIES_KEY_BY_NAME.put("tabindex",   TABINDEX_PROP);
-
-        //Common to input fields
-        COMMON_PROPERTIES_KEY_BY_NAME.put("align",      ALIGN_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("checked",    CHECKED_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("maxlength",  MAXLENGTH_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("size",       SIZE_PROP);
-        
-        // HTML5 role
-        COMMON_PROPERTIES_KEY_BY_NAME.put("role",   ROLE_PROP);
-    }
-    
-    public static void markProperty(UIComponent component, String name)
-    {
-        Long propertyConstant = COMMON_PROPERTIES_KEY_BY_NAME.get(name);
-        if (propertyConstant == null)
-        {
-            return;
-        }
-        Long commonPropertiesSet = (Long) component.getAttributes().get(COMMON_PROPERTIES_MARKED);
-        if (commonPropertiesSet == null)
-        {
-            commonPropertiesSet = 0L;
-        }
-        component.getAttributes().put(COMMON_PROPERTIES_MARKED, commonPropertiesSet | propertyConstant);
-    }
-    
-    public static void markProperty(UIComponent component, long propertyConstant)
-    {
-        Long commonPropertiesSet = (Long) component.getAttributes().get(COMMON_PROPERTIES_MARKED);
-        if (commonPropertiesSet == null)
-        {
-            commonPropertiesSet = 0L;
-        }
-        component.getAttributes().put(COMMON_PROPERTIES_MARKED, commonPropertiesSet | propertyConstant);
-    }
-}
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/util/CommonPropertyUtils.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/util/CommonPropertyUtils.java
index 0dde7f3..4f26a7a 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/util/CommonPropertyUtils.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/util/CommonPropertyUtils.java
@@ -23,6 +23,7 @@ import java.io.IOException;
 import jakarta.faces.component.UIComponent;
 import jakarta.faces.component.UIViewRoot;
 import jakarta.faces.context.ResponseWriter;
+import org.apache.myfaces.core.api.shared.CommonPropertyConstants;
 
 public final class CommonPropertyUtils
 {
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/component/_CommonEventConstants.java b/impl/src/main/java/org/apache/myfaces/view/facelets/component/_CommonEventConstants.java
deleted file mode 100644
index 8d6a884..0000000
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/component/_CommonEventConstants.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * 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 jakarta.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);
-    }
-}
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/component/_CommonPropertyConstants.java b/impl/src/main/java/org/apache/myfaces/view/facelets/component/_CommonPropertyConstants.java
deleted file mode 100644
index 6bfaa40..0000000
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/component/_CommonPropertyConstants.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * 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 jakarta.faces.component.UIComponent;
-
-/**
- * This is a list of the most common properties used by a JSF html
- * component, organized by interfaces.
- * 
- * Note there is a copy of this class on 
- * org.apache.myfaces.shared.renderkit.html.CommonPropertyConstants.
- * Any changes here should be committed there too.
- * 
- * @author Leonardo Uribe
- *
- */
-class _CommonPropertyConstants
-{
-    public static final String COMMON_PROPERTIES_MARKED = "oam.COMMON_PROPERTIES_MARKED";
-    
-    //_StyleProperties
-    public static final long STYLE_PROP       = 0x1L;
-    public static final long STYLECLASS_PROP = 0x2L;
-    
-    //_UniversalProperties
-    //_TitleProperty
-    public static final long DIR_PROP         = 0x4L;
-    public static final long LANG_PROP        = 0x8L;
-    public static final long TITLE_PROP       = 0x10L;
-    
-    //_EscapeProperty
-    public static final long ESCAPE_PROP      = 0x20L;
-
-    //_DisabledClassEnabledClassProperties
-    //_DisabledReadonlyProperties
-    public static final long DISABLED_PROP    = 0x40L;
-    public static final long ENABLED_PROP     = 0x80L;
-    public static final long READONLY_PROP    = 0x100L;
-
-    //_AccesskeyProperty
-    public static final long ACCESSKEY_PROP  = 0x200L;
-    
-    //_AltProperty
-    public static final long ALT_PROP         = 0x400L;
-    
-    //_ChangeSelectProperties
-    public static final long ONCHANGE_PROP    = 0x800L;
-    public static final long ONSELECT_PROP    = 0x1000L;
-    
-    //_EventProperties
-    public static final long ONCLICK_PROP     = 0x2000L;
-    public static final long ONDBLCLICK_PROP  = 0x4000L;
-    public static final long ONMOUSEDOWN_PROP = 0x8000L;
-    public static final long ONMOUSEUP_PROP   = 0x10000L;
-    public static final long ONMOUSEOVER_PROP = 0x20000L;
-    public static final long ONMOUSEMOVE_PROP = 0x40000L;
-    public static final long ONMOUSEOUT_PROP  = 0x80000L;
-    public static final long ONKEYPRESS_PROP  = 0x100000L;
-    public static final long ONKEYDOWN_PROP   = 0x200000L;
-    public static final long ONKEYUP_PROP     = 0x400000L;
-    
-    //_FocusBlurProperties
-    public static final long ONFOCUS_PROP     = 0x800000L;
-    public static final long ONBLUR_PROP      = 0x1000000L;
-
-    //_LabelProperty
-    public static final long LABEL_PROP       = 0x2000000L;
-    
-    //_LinkProperties
-    public static final long CHARSET_PROP     = 0x4000000L;
-    public static final long COORDS_PROP      = 0x8000000L;
-    public static final long HREFLANG_PROP    = 0x10000000L;
-    public static final long REL_PROP         = 0x20000000L;
-    public static final long REV_PROP         = 0x40000000L;
-    public static final long SHAPE_PROP       = 0x80000000L;
-    public static final long TARGET_PROP      = 0x100000000L;
-    public static final long TYPE_PROP        = 0x200000000L;
-
-    //_TabindexProperty
-    public static final long TABINDEX_PROP    = 0x400000000L;
-    
-    //Common to input fields
-    public static final long ALIGN_PROP       = 0x800000000L;
-    public static final long CHECKED_PROP     = 0x1000000000L;
-    public static final long MAXLENGTH_PROP   = 0x2000000000L;
-    public static final long SIZE_PROP        = 0x4000000000L;
-    
-    public static final Map<String, Long> COMMON_PROPERTIES_KEY_BY_NAME = new HashMap<String, Long>(64,1);
-    
-    static
-    {
-        COMMON_PROPERTIES_KEY_BY_NAME.put("style",      STYLE_PROP);
-        
-        COMMON_PROPERTIES_KEY_BY_NAME.put("styleClass", STYLECLASS_PROP);
-        
-        //_UniversalProperties
-        //_TitleProperty
-        COMMON_PROPERTIES_KEY_BY_NAME.put("dir",        DIR_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("lang",       LANG_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("title",      TITLE_PROP);
-        
-        //_EscapeProperty
-        COMMON_PROPERTIES_KEY_BY_NAME.put("escape",     ESCAPE_PROP);
-
-        //_DisabledClassEnabledClassProperties
-        //_DisabledReadonlyProperties
-        COMMON_PROPERTIES_KEY_BY_NAME.put("disabled",   DISABLED_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("enabled",    ENABLED_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("readonly",   READONLY_PROP);
-
-        //_AccesskeyProperty
-        COMMON_PROPERTIES_KEY_BY_NAME.put("accesskey",  ACCESSKEY_PROP);
-        
-        //_AltProperty
-        COMMON_PROPERTIES_KEY_BY_NAME.put("alt",        ALT_PROP);
-        
-        //_ChangeSelectProperties
-        COMMON_PROPERTIES_KEY_BY_NAME.put("onchange",   ONCHANGE_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("onselect",   ONSELECT_PROP);
-        
-        //_EventProperties
-        COMMON_PROPERTIES_KEY_BY_NAME.put("onclick",    ONCLICK_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("ondblclick", ONDBLCLICK_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("onmousedown",ONMOUSEDOWN_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("onmouseup",  ONMOUSEUP_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("onmouseover",ONMOUSEOVER_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("onmousemove",ONMOUSEMOVE_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("onmouseout", ONMOUSEOUT_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("onkeypress", ONKEYPRESS_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("onkeydown",  ONKEYDOWN_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("onkeyup",    ONKEYUP_PROP);
-        
-        //_FocusBlurProperties
-        COMMON_PROPERTIES_KEY_BY_NAME.put("onfocus",    ONFOCUS_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("onblur",     ONBLUR_PROP);
-
-        //_LabelProperty
-        COMMON_PROPERTIES_KEY_BY_NAME.put("label",      LABEL_PROP);
-        
-        //_LinkProperties
-        COMMON_PROPERTIES_KEY_BY_NAME.put("charset",    CHARSET_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("coords",     COORDS_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("hreflang",   HREFLANG_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("rel",        REL_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("rev",        REV_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("shape",      SHAPE_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("target",     TARGET_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("type",       TYPE_PROP);
-
-        //_TabindexProperty
-        COMMON_PROPERTIES_KEY_BY_NAME.put("tabindex",   TABINDEX_PROP);
-
-        //Common to input fields
-        COMMON_PROPERTIES_KEY_BY_NAME.put("align",      ALIGN_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("checked",    CHECKED_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("maxlength",  MAXLENGTH_PROP);
-        COMMON_PROPERTIES_KEY_BY_NAME.put("size",       SIZE_PROP);
-    }
-    
-    public static void markProperty(UIComponent component, String name)
-    {
-        Long propertyConstant = COMMON_PROPERTIES_KEY_BY_NAME.get(name);
-        if (propertyConstant == null)
-        {
-            return;
-        }
-        Long commonPropertiesSet = (Long) component.getAttributes().get(COMMON_PROPERTIES_MARKED);
-        if (commonPropertiesSet == null)
-        {
-            commonPropertiesSet = 0L;
-        }
-        component.getAttributes().put(COMMON_PROPERTIES_MARKED, commonPropertiesSet | propertyConstant);
-    }
-    
-    public static void markProperty(UIComponent component, long propertyConstant)
-    {
-        Long commonPropertiesSet = (Long) component.getAttributes().get(COMMON_PROPERTIES_MARKED);
-        if (commonPropertiesSet == null)
-        {
-            commonPropertiesSet = 0L;
-        }
-        component.getAttributes().put(COMMON_PROPERTIES_MARKED, commonPropertiesSet | propertyConstant);
-    }
-}
diff --git a/impl/src/main/resources/META-INF/componentClass20.vm b/impl/src/main/resources/META-INF/componentClass20.vm
index 7a46d66..87f02c6 100644
--- a/impl/src/main/resources/META-INF/componentClass20.vm
+++ b/impl/src/main/resources/META-INF/componentClass20.vm
@@ -35,6 +35,8 @@ package ${component.packageName};
 
 import jakarta.el.ValueExpression;
 import jakarta.faces.context.FacesContext;
+import org.apache.myfaces.core.api.shared.CommonEventConstants;
+import org.apache.myfaces.core.api.shared.CommonPropertyConstants;
 $utils.importTagClasses($component)
 
 #if ($component.isTemplate())
@@ -123,7 +125,7 @@ $innersource
     public void addClientBehavior(String eventName, jakarta.faces.component.behavior.ClientBehavior behavior)
     {
         super.addClientBehavior(eventName, behavior);
-        _CommonEventConstants.markEvent(this, eventName);
+        CommonEventConstants.markEvent(this, eventName);
     }
 #end
 #end
@@ -317,7 +319,7 @@ $innersource
      $property.name == "size"
       )
 #set($overrideSetValueExpression = true)
-        _CommonPropertyConstants.markProperty(this, _CommonPropertyConstants.${property.name.toUpperCase()}_PROP);
+        CommonPropertyConstants.markProperty(this, CommonPropertyConstants.${property.name.toUpperCase()}_PROP);
 #end
     }
 #end
@@ -327,7 +329,7 @@ $innersource
     public void setValueExpression(String name, ValueExpression expression)
     {
         super.setValueExpression(name, expression);
-        _CommonPropertyConstants.markProperty(this, name);
+        CommonPropertyConstants.markProperty(this, name);
     }
 #end