diff --git a/.circleci/config.yml b/.circleci/config.yml
index 06ddd15f7..29f5f0593 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -42,6 +42,22 @@ jobs:
name: Test
command: mvn test
+ build-and-test-openjdk-19:
+ docker:
+ - image: cimg/openjdk:19.0
+ working_directory: ~/wff/wffweb
+ steps:
+ # Checkout the code as the first step.
+ - checkout:
+ path: ~/wff
+ # Use mvn clean and package as the standard maven build phase
+ - run:
+ name: Build
+ command: mvn -B -DskipTests clean package
+ # Then run your tests!
+ - run:
+ name: Test
+ command: mvn test
workflows:
# Below is the definition of your workflow.
@@ -52,3 +68,4 @@ workflows:
jobs:
- build-and-test-openjdk-17
- build-and-test-openjdk-18
+ - build-and-test-openjdk-19
diff --git a/README.md b/README.md
index aeeb850cc..9f8c043d3 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
[![Build Status](https://img.shields.io/badge/build-passing-greensvg?style=flat)](https://app.circleci.com/pipelines/github/webfirmframework/wff?branch=master&filter=all)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/410601e16dc54b0a973c03845ad790c2)](https://www.codacy.com/app/webfirm-framework/wff?utm_source=github.com&utm_medium=referral&utm_content=webfirmframework/wff&utm_campaign=Badge_Grade)
[![Stackoverflow](https://img.shields.io/badge/stackoverflow-wffweb-orange.svg)](https://stackoverflow.com/questions/tagged/wffweb)
-[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.webfirmframework/wffweb/badge.svg)](https://search.maven.org/#artifactdetails%7Ccom.webfirmframework%7Cwffweb%7C12.0.0-beta.7%7Cjar)
+[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.webfirmframework/wffweb/badge.svg)](https://search.maven.org/#artifactdetails%7Ccom.webfirmframework%7Cwffweb%7C12.0.0-beta.8%7Cjar)
[![javadoc](https://img.shields.io/:wffweb-javadoc-blue.svg)](https://webfirmframework.github.io/wffweb/wffweb-javadoc)
[![GitHub license](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg?style=flat)](https://www.apache.org/licenses/LICENSE-2.0)
[![twitter](https://img.shields.io/badge/twitter-@wffweb-blue.svg)](https://webfirmframework.com/twitter)
diff --git a/wffweb/pom.xml b/wffweb/pom.xml
index 5a39c1329..04b75b04c 100644
--- a/wffweb/pom.xml
+++ b/wffweb/pom.xml
@@ -4,7 +4,7 @@
4.0.0
com.webfirmframework
wffweb
- 12.0.0-beta.7
+ 12.0.0-beta.8
yyyyMMddHHmmss
@@ -147,7 +147,7 @@
com.fasterxml.jackson.core
jackson-databind
- 2.13.4
+ 2.14.2
test
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/BrowserPageNotFoundException.java b/wffweb/src/main/java/com/webfirmframework/wffweb/BrowserPageNotFoundException.java
index 6733c7764..51478cda1 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/BrowserPageNotFoundException.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/BrowserPageNotFoundException.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/DataWffIdOutOfRangeError.java b/wffweb/src/main/java/com/webfirmframework/wffweb/DataWffIdOutOfRangeError.java
index e0bb2994c..81b53d940 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/DataWffIdOutOfRangeError.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/DataWffIdOutOfRangeError.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/InvalidTagException.java b/wffweb/src/main/java/com/webfirmframework/wffweb/InvalidTagException.java
index 9cce35c3a..2f35b925a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/InvalidTagException.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/InvalidTagException.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/InvalidUsageException.java b/wffweb/src/main/java/com/webfirmframework/wffweb/InvalidUsageException.java
index b618747ea..4a4ab0316 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/InvalidUsageException.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/InvalidUsageException.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/InvalidValueException.java b/wffweb/src/main/java/com/webfirmframework/wffweb/InvalidValueException.java
index e856d53a6..276f09f3a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/InvalidValueException.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/InvalidValueException.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/MethodNotImplementedException.java b/wffweb/src/main/java/com/webfirmframework/wffweb/MethodNotImplementedException.java
index 272041658..6215dc78a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/MethodNotImplementedException.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/MethodNotImplementedException.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/NoParentException.java b/wffweb/src/main/java/com/webfirmframework/wffweb/NoParentException.java
index f692f0625..0a41430f7 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/NoParentException.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/NoParentException.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/NotRenderedException.java b/wffweb/src/main/java/com/webfirmframework/wffweb/NotRenderedException.java
index 4b6abf361..858018ef3 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/NotRenderedException.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/NotRenderedException.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/NullValueException.java b/wffweb/src/main/java/com/webfirmframework/wffweb/NullValueException.java
index 8949b50aa..0d4b6422f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/NullValueException.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/NullValueException.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/PushFailedException.java b/wffweb/src/main/java/com/webfirmframework/wffweb/PushFailedException.java
index f7e6fa55f..b861f1fa0 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/PushFailedException.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/PushFailedException.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/WffError.java b/wffweb/src/main/java/com/webfirmframework/wffweb/WffError.java
index cecec0826..20e4a60ee 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/WffError.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/WffError.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/WffException.java b/wffweb/src/main/java/com/webfirmframework/wffweb/WffException.java
index 11f70403c..e5c778724 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/WffException.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/WffException.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/WffRuntimeException.java b/wffweb/src/main/java/com/webfirmframework/wffweb/WffRuntimeException.java
index fed93d577..c7ef8c4e8 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/WffRuntimeException.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/WffRuntimeException.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/WffSecurityException.java b/wffweb/src/main/java/com/webfirmframework/wffweb/WffSecurityException.java
index 028734f5c..d760cec55 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/WffSecurityException.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/WffSecurityException.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/clone/CloneUtil.java b/wffweb/src/main/java/com/webfirmframework/wffweb/clone/CloneUtil.java
index e45badfcd..c8d765841 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/clone/CloneUtil.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/clone/CloneUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/common/URIEvent.java b/wffweb/src/main/java/com/webfirmframework/wffweb/common/URIEvent.java
index cc29dd8a6..d5c0b9aac 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/common/URIEvent.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/common/URIEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/common/URIEventInitiator.java b/wffweb/src/main/java/com/webfirmframework/wffweb/common/URIEventInitiator.java
index f08b28884..bf5593b61 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/common/URIEventInitiator.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/common/URIEventInitiator.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/common/URIEventMask.java b/wffweb/src/main/java/com/webfirmframework/wffweb/common/URIEventMask.java
index f30d1922a..397f72c48 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/common/URIEventMask.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/common/URIEventMask.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/concurrent/MinIntervalExecutor.java b/wffweb/src/main/java/com/webfirmframework/wffweb/concurrent/MinIntervalExecutor.java
index 76ef89484..0bda7297c 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/concurrent/MinIntervalExecutor.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/concurrent/MinIntervalExecutor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/concurrent/ReentrantStampedLock.java b/wffweb/src/main/java/com/webfirmframework/wffweb/concurrent/ReentrantStampedLock.java
index 529cab23e..0ef8a9eb7 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/concurrent/ReentrantStampedLock.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/concurrent/ReentrantStampedLock.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/concurrent/WffReadWriteLock.java b/wffweb/src/main/java/com/webfirmframework/wffweb/concurrent/WffReadWriteLock.java
index 15f7cd63c..bd159a268 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/concurrent/WffReadWriteLock.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/concurrent/WffReadWriteLock.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BackgroundAttachment.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BackgroundAttachment.java
index 1ef39a342..1b76d43f3 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BackgroundAttachment.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BackgroundAttachment.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BackgroundColor.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BackgroundColor.java
index f7ccf76bd..762ba6cfb 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BackgroundColor.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BackgroundColor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BackgroundImage.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BackgroundImage.java
index 5bf3363f9..91c9879b3 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BackgroundImage.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BackgroundImage.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BackgroundRepeat.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BackgroundRepeat.java
index 3526b2a04..d23ef638c 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BackgroundRepeat.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BackgroundRepeat.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Border.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Border.java
index 6d9649688..fbac5d43b 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Border.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Border.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderBottom.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderBottom.java
index 50086e9ef..32a064c62 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderBottom.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderBottom.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderBottomColor.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderBottomColor.java
index 7a9400948..6eca14904 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderBottomColor.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderBottomColor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderBottomStyle.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderBottomStyle.java
index 47783d338..0f0769ec0 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderBottomStyle.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderBottomStyle.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderBottomWidth.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderBottomWidth.java
index 839a59d7f..2f2390b4b 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderBottomWidth.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderBottomWidth.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderCollapse.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderCollapse.java
index 51356106d..7e44ec0f3 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderCollapse.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderCollapse.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderColor.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderColor.java
index 4a113dd11..b24c0f2ce 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderColor.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderColor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderColorCssValues.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderColorCssValues.java
index c180f9dd1..2c1a0c5eb 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderColorCssValues.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderColorCssValues.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderLeft.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderLeft.java
index 42b945b0c..7eaac2a13 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderLeft.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderLeft.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderLeftColor.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderLeftColor.java
index 07b4f0b6f..c2b71f6b7 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderLeftColor.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderLeftColor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderLeftStyle.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderLeftStyle.java
index 91087da62..0c176d7aa 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderLeftStyle.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderLeftStyle.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderLeftWidth.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderLeftWidth.java
index aaa3546e6..f7bb59c4f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderLeftWidth.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderLeftWidth.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderRight.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderRight.java
index 2dbe68bfe..a09dd0ff9 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderRight.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderRight.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderRightColor.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderRightColor.java
index 7374ab0ec..98f8d3b8e 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderRightColor.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderRightColor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderRightStyle.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderRightStyle.java
index f6efad85e..5b5367a43 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderRightStyle.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderRightStyle.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderRightWidth.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderRightWidth.java
index 60f6a6df9..0106ddf35 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderRightWidth.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderRightWidth.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderSpacing.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderSpacing.java
index 8117711ca..f162d9c22 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderSpacing.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderSpacing.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderStyle.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderStyle.java
index 24b830360..ef6296ede 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderStyle.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderStyle.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderTop.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderTop.java
index 9f714273f..d54c8fdb9 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderTop.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderTop.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderTopColor.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderTopColor.java
index e7c166e14..b92382e6d 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderTopColor.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderTopColor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderTopStyle.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderTopStyle.java
index 3c998df3f..509b82be1 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderTopStyle.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderTopStyle.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderTopWidth.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderTopWidth.java
index 15bcded8e..f9a19c0b0 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderTopWidth.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderTopWidth.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderWidth.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderWidth.java
index ebe67625b..4eecb9f03 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderWidth.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/BorderWidth.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Bottom.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Bottom.java
index 52f0077d8..1cf3362ed 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Bottom.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Bottom.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/CaptionSide.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/CaptionSide.java
index 2fc26b630..2fde00699 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/CaptionSide.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/CaptionSide.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Clear.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Clear.java
index 9ff099d87..b76d3b215 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Clear.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Clear.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Color.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Color.java
index 3667d36a4..b3f4a9c5b 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Color.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Color.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/CssColorName.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/CssColorName.java
index d6fbdb91d..61c9195d7 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/CssColorName.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/CssColorName.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/CssConstants.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/CssConstants.java
index 01b611b03..b754d352f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/CssConstants.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/CssConstants.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/CssLengthUnit.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/CssLengthUnit.java
index d5ab6dba0..64bc47811 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/CssLengthUnit.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/CssLengthUnit.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/CssNameConstants.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/CssNameConstants.java
index a9cb78e0f..c7eb85ddc 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/CssNameConstants.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/CssNameConstants.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/CssTimeUnit.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/CssTimeUnit.java
index c48cd07a9..80f87428f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/CssTimeUnit.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/CssTimeUnit.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Cursor.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Cursor.java
index 225366ef8..7bde1dd8a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Cursor.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Cursor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Direction.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Direction.java
index c1a677906..90e820d84 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Direction.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Direction.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Display.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Display.java
index 4c47c5215..4e6124d0f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Display.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Display.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/EmptyCells.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/EmptyCells.java
index 22ec7450f..8887cb2de 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/EmptyCells.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/EmptyCells.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/FloatCss.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/FloatCss.java
index 83829ce91..b8c27e0df 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/FloatCss.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/FloatCss.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Font.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Font.java
index c12349e40..32da41504 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Font.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Font.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/FontFamily.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/FontFamily.java
index 52364330a..64dc094db 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/FontFamily.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/FontFamily.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/FontSize.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/FontSize.java
index a93cabd97..2ffdbe2ae 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/FontSize.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/FontSize.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/FontStyle.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/FontStyle.java
index d4be9020a..809899899 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/FontStyle.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/FontStyle.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/FontVariant.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/FontVariant.java
index ecdb4bbc9..fd93660d6 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/FontVariant.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/FontVariant.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/FontWeight.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/FontWeight.java
index f1d159a6d..373626695 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/FontWeight.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/FontWeight.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/GenericFontFamilyNameContants.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/GenericFontFamilyNameContants.java
index a097ec04a..09fe76d34 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/GenericFontFamilyNameContants.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/GenericFontFamilyNameContants.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/HeightCss.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/HeightCss.java
index 9599c9077..1e88e70ae 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/HeightCss.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/HeightCss.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/HslCssValue.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/HslCssValue.java
index 516c6acf3..1e355f3e2 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/HslCssValue.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/HslCssValue.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/HslaCssValue.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/HslaCssValue.java
index 457a493a8..d213cde4b 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/HslaCssValue.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/HslaCssValue.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Left.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Left.java
index 3cbef93e6..b29318bab 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Left.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Left.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/LetterSpacing.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/LetterSpacing.java
index 1a0e4e4e3..f1ba04cb4 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/LetterSpacing.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/LetterSpacing.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/LineHeight.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/LineHeight.java
index 775e86e86..c13d23ee8 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/LineHeight.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/LineHeight.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/ListStyle.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/ListStyle.java
index 8df0465e4..93858dc17 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/ListStyle.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/ListStyle.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/ListStyleImage.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/ListStyleImage.java
index 8aebf3a61..20a34ba62 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/ListStyleImage.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/ListStyleImage.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/ListStylePosition.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/ListStylePosition.java
index 9119167b8..9dad43acd 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/ListStylePosition.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/ListStylePosition.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/ListStyleType.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/ListStyleType.java
index 5c9390147..9a2e720d1 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/ListStyleType.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/ListStyleType.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Margin.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Margin.java
index 6392580cd..159f5a3aa 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Margin.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Margin.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/MarginBottom.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/MarginBottom.java
index f203441e1..bdf3c5ae3 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/MarginBottom.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/MarginBottom.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/MarginLeft.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/MarginLeft.java
index 60778b524..18c79b7ce 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/MarginLeft.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/MarginLeft.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/MarginRight.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/MarginRight.java
index 036d4c6e5..771ee2d92 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/MarginRight.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/MarginRight.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/MarginTop.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/MarginTop.java
index cc66e08a1..db8d0fb4f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/MarginTop.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/MarginTop.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/MaxHeight.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/MaxHeight.java
index aa4be3401..577262109 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/MaxHeight.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/MaxHeight.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/MaxWidth.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/MaxWidth.java
index 65d7d25f1..44395ca65 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/MaxWidth.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/MaxWidth.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/MinHeight.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/MinHeight.java
index a734c7ae2..008a4e2e7 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/MinHeight.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/MinHeight.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/MinWidth.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/MinWidth.java
index 904f38073..0f1731931 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/MinWidth.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/MinWidth.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Outline.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Outline.java
index a6243fc17..22767f7fa 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Outline.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Outline.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/OutlineColor.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/OutlineColor.java
index 5d617fce7..f83e31d7e 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/OutlineColor.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/OutlineColor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/OutlineOffset.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/OutlineOffset.java
index 76653ee50..de985cc21 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/OutlineOffset.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/OutlineOffset.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/OutlineStyle.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/OutlineStyle.java
index f157c34ac..fd975c1bb 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/OutlineStyle.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/OutlineStyle.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/OutlineWidth.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/OutlineWidth.java
index 054f22a44..8622b2c19 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/OutlineWidth.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/OutlineWidth.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Overflow.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Overflow.java
index f1a6698a9..b072bbceb 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Overflow.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Overflow.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Padding.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Padding.java
index a97a0f6f5..576395cbb 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Padding.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Padding.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/PaddingBottom.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/PaddingBottom.java
index be258f2a5..4a6f3644c 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/PaddingBottom.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/PaddingBottom.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/PaddingLeft.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/PaddingLeft.java
index 5ab10599d..01ee9abfa 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/PaddingLeft.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/PaddingLeft.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/PaddingRight.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/PaddingRight.java
index 2d69b91b5..d987ee274 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/PaddingRight.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/PaddingRight.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/PaddingTop.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/PaddingTop.java
index bddf72953..8bf687a49 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/PaddingTop.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/PaddingTop.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/PageBreakAfter.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/PageBreakAfter.java
index 49c32ea5a..5b5ff0dfe 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/PageBreakAfter.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/PageBreakAfter.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/PageBreakBefore.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/PageBreakBefore.java
index 3845edfdd..74500df0c 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/PageBreakBefore.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/PageBreakBefore.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/PageBreakInside.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/PageBreakInside.java
index 726aecfac..b5bf55140 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/PageBreakInside.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/PageBreakInside.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Position.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Position.java
index a94a5431a..31d8a2f31 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Position.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Position.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/RgbCssValue.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/RgbCssValue.java
index b72d72a38..df5850220 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/RgbCssValue.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/RgbCssValue.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/RgbaCssValue.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/RgbaCssValue.java
index 11753bb75..3f2782ed8 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/RgbaCssValue.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/RgbaCssValue.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Right.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Right.java
index a891bb737..dc21a576f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Right.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Right.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Src.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Src.java
index e4f612c7a..258e70d4a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Src.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Src.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/SrcCssProperty.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/SrcCssProperty.java
index e6c9c82d4..cf76d58d0 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/SrcCssProperty.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/SrcCssProperty.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/TableLayout.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/TableLayout.java
index 750093362..d34baece3 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/TableLayout.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/TableLayout.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/TextAlign.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/TextAlign.java
index eb557d2c5..fa4da401c 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/TextAlign.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/TextAlign.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/TextTransform.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/TextTransform.java
index 2429586c2..627ecc222 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/TextTransform.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/TextTransform.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Top.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Top.java
index 2ced660e2..8291abac1 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Top.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Top.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/UnicodeBidi.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/UnicodeBidi.java
index 51059a4b6..75a7a0dc2 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/UnicodeBidi.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/UnicodeBidi.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/UnicodeRange.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/UnicodeRange.java
index 0b418cc20..b87246eb8 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/UnicodeRange.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/UnicodeRange.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/UrlCss3Value.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/UrlCss3Value.java
index a3c0f7733..b11222a48 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/UrlCss3Value.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/UrlCss3Value.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Visibility.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Visibility.java
index c205f9136..6c6a0a0a1 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/Visibility.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/Visibility.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/WhiteSpace.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/WhiteSpace.java
index e2ef0402f..ef5097ba5 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/WhiteSpace.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/WhiteSpace.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/WidthCss.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/WidthCss.java
index 05f45a217..9eeea4e78 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/WidthCss.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/WidthCss.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/WordSpacing.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/WordSpacing.java
index de8c4a6be..0badbc71c 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/WordSpacing.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/WordSpacing.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/core/AbstractCssProperty.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/core/AbstractCssProperty.java
index db24bd46d..cbf549dbe 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/core/AbstractCssProperty.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/core/AbstractCssProperty.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/core/CssEnumUtil.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/core/CssEnumUtil.java
index f8845a1fd..342532b98 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/core/CssEnumUtil.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/core/CssEnumUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/core/CssProperty.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/core/CssProperty.java
index 349bdff4b..45ec02836 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/core/CssProperty.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/core/CssProperty.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/core/LengthUnit.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/core/LengthUnit.java
index d5335f9b5..455f790ed 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/core/LengthUnit.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/core/LengthUnit.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/core/TimeUnit.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/core/TimeUnit.java
index e54e47b30..0c8f9c64f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/core/TimeUnit.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/core/TimeUnit.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/AlignContent.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/AlignContent.java
index de2541453..9b24d857c 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/AlignContent.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/AlignContent.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/AlignItems.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/AlignItems.java
index 3aa2f2006..ec29aa090 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/AlignItems.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/AlignItems.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/AlignSelf.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/AlignSelf.java
index 05292f119..148cacae9 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/AlignSelf.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/AlignSelf.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/AnimationDirection.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/AnimationDirection.java
index b79c5f8c5..0d785cc2f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/AnimationDirection.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/AnimationDirection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/AnimationFillMode.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/AnimationFillMode.java
index 8dfb3e78a..4104b07f4 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/AnimationFillMode.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/AnimationFillMode.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/AnimationIterationCount.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/AnimationIterationCount.java
index 0ee5f72af..ee4be3c63 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/AnimationIterationCount.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/AnimationIterationCount.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/AnimationPlayState.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/AnimationPlayState.java
index 704761b68..4dcf941fb 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/AnimationPlayState.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/AnimationPlayState.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BackfaceVisibility.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BackfaceVisibility.java
index c601f9f10..bacd73109 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BackfaceVisibility.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BackfaceVisibility.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BackgroundClip.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BackgroundClip.java
index 89e56bb95..5007651bc 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BackgroundClip.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BackgroundClip.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BackgroundOrigin.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BackgroundOrigin.java
index 451ddfba7..9b8079aa8 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BackgroundOrigin.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BackgroundOrigin.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BackgroundSize.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BackgroundSize.java
index eec93d800..b6e2e5050 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BackgroundSize.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BackgroundSize.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BorderImageOutset.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BorderImageOutset.java
index 9e89ed083..74fef1dd3 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BorderImageOutset.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BorderImageOutset.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BorderImageRepeat.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BorderImageRepeat.java
index a8c2687a7..aa65c66cb 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BorderImageRepeat.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BorderImageRepeat.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BorderImageSlice.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BorderImageSlice.java
index 08d5199a0..f73441127 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BorderImageSlice.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BorderImageSlice.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BorderImageSource.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BorderImageSource.java
index 5aef57825..4dd64594b 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BorderImageSource.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BorderImageSource.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BorderImageWidth.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BorderImageWidth.java
index 042e67e7b..0fd21957d 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BorderImageWidth.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BorderImageWidth.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BoxSizing.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BoxSizing.java
index 20802052f..4d6fcec3c 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BoxSizing.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/BoxSizing.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnCount.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnCount.java
index 020a6f291..21e2e47d8 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnCount.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnCount.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnFill.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnFill.java
index 1b54f52e9..dde4de5e1 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnFill.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnFill.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnGap.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnGap.java
index a4595e2fa..5c626be1a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnGap.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnGap.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnRule.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnRule.java
index fe45840eb..db46c1443 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnRule.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnRule.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnRuleColor.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnRuleColor.java
index 8ec5bb216..66cb5e335 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnRuleColor.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnRuleColor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnRuleStyle.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnRuleStyle.java
index 74ae7d57a..cace81574 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnRuleStyle.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnRuleStyle.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnRuleWidth.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnRuleWidth.java
index 0628ed9da..df542810d 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnRuleWidth.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnRuleWidth.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnSpan.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnSpan.java
index f82f6c4ed..248fc6697 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnSpan.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnSpan.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnWidth.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnWidth.java
index 5fe81e649..a632438b5 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnWidth.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/ColumnWidth.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/Columns.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/Columns.java
index e6ed1c7be..80f58073a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/Columns.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/Columns.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/Flex.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/Flex.java
index 26cca3615..c43686dae 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/Flex.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/Flex.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/FlexBasis.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/FlexBasis.java
index f9672c31e..9dd1b3848 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/FlexBasis.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/FlexBasis.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/FlexDirection.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/FlexDirection.java
index c3ac5a400..048ee1d6f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/FlexDirection.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/FlexDirection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/FlexGrow.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/FlexGrow.java
index 90a2a601d..67c02a0da 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/FlexGrow.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/FlexGrow.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/FlexShrink.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/FlexShrink.java
index 9aeeaa50b..73c073ba7 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/FlexShrink.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/FlexShrink.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/FlexWrap.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/FlexWrap.java
index 25c2b7b18..52c4e9da6 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/FlexWrap.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/FlexWrap.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/FontSizeAdjust.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/FontSizeAdjust.java
index 71d0c60c8..2c6e4fa27 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/FontSizeAdjust.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/FontSizeAdjust.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/FontStretch.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/FontStretch.java
index 46791e19a..3f0b65a92 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/FontStretch.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/FontStretch.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/HangingPunctuation.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/HangingPunctuation.java
index 6cb993943..7b5c9ce3e 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/HangingPunctuation.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/HangingPunctuation.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/Icon.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/Icon.java
index dfcead79c..5fd0374a2 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/Icon.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/Icon.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/JustifyContent.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/JustifyContent.java
index 7e40a1348..cbc11a19a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/JustifyContent.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/JustifyContent.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozBackgroundSize.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozBackgroundSize.java
index 4d0fa425c..d202d516b 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozBackgroundSize.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozBackgroundSize.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozColumnCount.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozColumnCount.java
index 34f413473..256e96bfb 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozColumnCount.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozColumnCount.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozColumnGap.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozColumnGap.java
index 72bded267..e8d6373fd 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozColumnGap.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozColumnGap.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozColumnRule.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozColumnRule.java
index 70e1afab1..d7f596ebf 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozColumnRule.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozColumnRule.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozColumnRuleColor.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozColumnRuleColor.java
index 3d92cbee7..9f972a717 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozColumnRuleColor.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozColumnRuleColor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozColumnRuleStyle.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozColumnRuleStyle.java
index 328cfe567..af5bbe2d6 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozColumnRuleStyle.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozColumnRuleStyle.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozColumnRuleWidth.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozColumnRuleWidth.java
index 8ef6bbdb0..c76aaabb9 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozColumnRuleWidth.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozColumnRuleWidth.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozColumnWidth.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozColumnWidth.java
index bf9c00f9b..8acc731c4 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozColumnWidth.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozColumnWidth.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozFlex.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozFlex.java
index b6015dc3e..cbac9b2b4 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozFlex.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozFlex.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozFlexBasis.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozFlexBasis.java
index d9570e477..902571f9f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozFlexBasis.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozFlexBasis.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozFlexGrow.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozFlexGrow.java
index 49dd6c988..5dade64a7 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozFlexGrow.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozFlexGrow.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozFlexShrink.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozFlexShrink.java
index eb41c590d..3c04b1319 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozFlexShrink.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozFlexShrink.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozFlexWrap.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozFlexWrap.java
index 2a3993c03..acf279e04 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozFlexWrap.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozFlexWrap.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozTextDecorationLine.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozTextDecorationLine.java
index 03489f59e..c19ff993a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozTextDecorationLine.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozTextDecorationLine.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozTextDecorationStyle.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozTextDecorationStyle.java
index 8f18bde13..c6b21c9ff 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozTextDecorationStyle.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MozTextDecorationStyle.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MsFlex.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MsFlex.java
index cc03da971..32a4191eb 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MsFlex.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/MsFlex.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/OBackgroundSize.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/OBackgroundSize.java
index a9b1d06a5..8a54c28f2 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/OBackgroundSize.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/OBackgroundSize.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/Opacity.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/Opacity.java
index 9b0efb0b6..6f0e0adab 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/Opacity.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/Opacity.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/OverflowX.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/OverflowX.java
index 943798fb2..df5708c47 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/OverflowX.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/OverflowX.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/OverflowY.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/OverflowY.java
index f4fa26aac..3cd82e3a1 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/OverflowY.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/OverflowY.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/Perspective.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/Perspective.java
index f07a4c96f..b7580d311 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/Perspective.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/Perspective.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/PerspectiveOrigin.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/PerspectiveOrigin.java
index c1b999f2d..e568acae8 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/PerspectiveOrigin.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/PerspectiveOrigin.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/Resize.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/Resize.java
index 1439a69a1..2c7ac2563 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/Resize.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/Resize.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/TextAlignLast.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/TextAlignLast.java
index d6ad2de28..a855773e4 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/TextAlignLast.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/TextAlignLast.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/TextDecoration.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/TextDecoration.java
index 1e798d46d..341540565 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/TextDecoration.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/TextDecoration.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/TextDecorationLine.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/TextDecorationLine.java
index 3d53e8292..89eb3b328 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/TextDecorationLine.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/TextDecorationLine.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/TextDecorationStyle.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/TextDecorationStyle.java
index 1c9ecd8a9..12f40da4c 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/TextDecorationStyle.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/TextDecorationStyle.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/TextJustify.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/TextJustify.java
index 92d1fa097..8dc88dd26 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/TextJustify.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/TextJustify.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/TransformStyle.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/TransformStyle.java
index dabe3559d..f9f9b30a2 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/TransformStyle.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/TransformStyle.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitAnimationDirection.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitAnimationDirection.java
index 3e45f2949..231a07311 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitAnimationDirection.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitAnimationDirection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitAnimationFillMode.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitAnimationFillMode.java
index 53d71962b..cf6a8ec65 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitAnimationFillMode.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitAnimationFillMode.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitAnimationPlayState.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitAnimationPlayState.java
index 5d7b65753..c8aac6b72 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitAnimationPlayState.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitAnimationPlayState.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitBackfaceVisibility.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitBackfaceVisibility.java
index 36d83c01b..5b01f93e5 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitBackfaceVisibility.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitBackfaceVisibility.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitBackgroundSize.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitBackgroundSize.java
index 652333dc4..1539aed24 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitBackgroundSize.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitBackgroundSize.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitColumnCount.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitColumnCount.java
index ea380ff33..a1896c24c 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitColumnCount.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitColumnCount.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitColumnGap.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitColumnGap.java
index 273baa821..98b7abeb5 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitColumnGap.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitColumnGap.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitColumnRule.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitColumnRule.java
index dba4a7be0..ce4b60e72 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitColumnRule.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitColumnRule.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitColumnRuleColor.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitColumnRuleColor.java
index 2634e112d..9c4839011 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitColumnRuleColor.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitColumnRuleColor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitColumnRuleStyle.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitColumnRuleStyle.java
index 7e496a32d..666f58ce1 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitColumnRuleStyle.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitColumnRuleStyle.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitColumnRuleWidth.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitColumnRuleWidth.java
index f66df0e35..39bb8266a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitColumnRuleWidth.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitColumnRuleWidth.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitColumnSpan.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitColumnSpan.java
index 600c5b4a5..254f6e677 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitColumnSpan.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitColumnSpan.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitColumnWidth.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitColumnWidth.java
index 81aa3b937..b57927f9b 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitColumnWidth.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitColumnWidth.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitFlex.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitFlex.java
index 9555eae5b..620a5c9d0 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitFlex.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitFlex.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitFlexBasis.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitFlexBasis.java
index e10fe85ef..f9466ea36 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitFlexBasis.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitFlexBasis.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitFlexGrow.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitFlexGrow.java
index e3de5d3b9..79c13fdbb 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitFlexGrow.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitFlexGrow.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitFlexShrink.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitFlexShrink.java
index a8cf764d9..378df589f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitFlexShrink.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitFlexShrink.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitFlexWrap.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitFlexWrap.java
index cc94abe66..bc4e5c874 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitFlexWrap.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitFlexWrap.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitTransformStyle.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitTransformStyle.java
index 09ce82ead..d2406a010 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitTransformStyle.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WebkitTransformStyle.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WordBreak.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WordBreak.java
index a135c31d4..540b96f75 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WordBreak.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WordBreak.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WordWrap.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WordWrap.java
index 8a34013ba..9c2e4db9c 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WordWrap.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/css3/WordWrap.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/file/AbstractCssFileBlock.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/file/AbstractCssFileBlock.java
index 6a49da98d..2c03bd9d7 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/file/AbstractCssFileBlock.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/file/AbstractCssFileBlock.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/file/CssBlock.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/file/CssBlock.java
index a2fe1f571..5ab89c8c6 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/file/CssBlock.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/file/CssBlock.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/file/CssFile.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/file/CssFile.java
index 34522a59c..a26cfd31a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/file/CssFile.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/file/CssFile.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/file/CssFileBlock.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/file/CssFileBlock.java
index 8283deeb0..627fa0d48 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/file/CssFileBlock.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/file/CssFileBlock.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/file/CssPropertySet.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/file/CssPropertySet.java
index 1d76c7ec4..f0b4ee09b 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/file/CssPropertySet.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/file/CssPropertySet.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/file/ExcludeCssBlock.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/file/ExcludeCssBlock.java
index 9f5ffe909..303c96106 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/file/ExcludeCssBlock.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/file/ExcludeCssBlock.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/file/ImportCssFile.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/file/ImportCssFile.java
index 799af2683..ec42b7811 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/file/ImportCssFile.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/file/ImportCssFile.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/css/file/InlineCssBlock.java b/wffweb/src/main/java/com/webfirmframework/wffweb/css/file/InlineCssBlock.java
index dd4bf4856..7f6156ace 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/css/file/InlineCssBlock.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/css/file/InlineCssBlock.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/csswff/CustomCssProperty.java b/wffweb/src/main/java/com/webfirmframework/wffweb/csswff/CustomCssProperty.java
index 1bb4637c6..378ab4c27 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/csswff/CustomCssProperty.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/csswff/CustomCssProperty.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/data/AbstractBean.java b/wffweb/src/main/java/com/webfirmframework/wffweb/data/AbstractBean.java
index 6de53a727..9f0adf4e0 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/data/AbstractBean.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/data/AbstractBean.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/data/Bean.java b/wffweb/src/main/java/com/webfirmframework/wffweb/data/Bean.java
index c52206d8c..c403b5c11 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/data/Bean.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/data/Bean.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/informer/StateChangeInformer.java b/wffweb/src/main/java/com/webfirmframework/wffweb/informer/StateChangeInformer.java
index aa99169ad..e339c8e7f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/informer/StateChangeInformer.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/informer/StateChangeInformer.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/InternalId.java b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/InternalId.java
index 63f4976bc..e315aae81 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/InternalId.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/InternalId.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/ObjectId.java b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/ObjectId.java
index f573fae63..6d56c7ecb 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/ObjectId.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/ObjectId.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/constants/CommonConstants.java b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/constants/CommonConstants.java
index 91feff37f..f0b29c335 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/constants/CommonConstants.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/constants/CommonConstants.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/security/object/SecurityClassConstants.java b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/security/object/SecurityClassConstants.java
index 8c8aa0866..ef62076b2 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/security/object/SecurityClassConstants.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/security/object/SecurityClassConstants.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/server/page/js/WffJsFile.java b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/server/page/js/WffJsFile.java
index ac5ad76df..011a75da7 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/server/page/js/WffJsFile.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/server/page/js/WffJsFile.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -20,8 +20,13 @@
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
import java.util.Map.Entry;
+import java.util.UUID;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -318,6 +323,7 @@ private static final record FunctionOrVarName(String name, boolean function) {
variableNameList.add("attrValue");
variableNameList.add("attrBytes");
variableNameList.add("htmlNodes");
+ variableNameList.add("payloadId");
variableNameList.add("wffTagId");
variableNameList.add("attrName");
variableNameList.add("childTag");
@@ -492,31 +498,35 @@ private String buildOptimizedFileContent() {
* @param heartbeatInterval in milliseconds
* @param wsReconnectInterval in milliseconds
* @param autoremoveParentScript true or false
+ * @param losslessCommunication
+ * @param onPayloadLossJS
* @return the js string for the client
* @author WFF
*/
public static String getAllOptimizedContent(final String wsUrl, final String instanceId,
final boolean removePrevBPOnInitTab, final boolean removePrevBPOnClosetTab, final int heartbeatInterval,
- final int wsReconnectInterval, final boolean autoremoveParentScript) {
+ final int wsReconnectInterval, final boolean autoremoveParentScript, final boolean losslessCommunication,
+ final String onPayloadLossJS) {
if (allOptimizedContent != null) {
if (heartbeatInterval > 0) {
if (autoremoveParentScript) {
return buildJsContentWithHeartbeat(wsUrl, instanceId, removePrevBPOnInitTab,
- removePrevBPOnClosetTab, heartbeatInterval, wsReconnectInterval)
- .append(AUTOREMOVE_PARENT_SCRIPT).toString();
+ removePrevBPOnClosetTab, heartbeatInterval, wsReconnectInterval, losslessCommunication,
+ onPayloadLossJS).append(AUTOREMOVE_PARENT_SCRIPT).toString();
}
return buildJsContentWithHeartbeat(wsUrl, instanceId, removePrevBPOnInitTab, removePrevBPOnClosetTab,
- heartbeatInterval, wsReconnectInterval).toString();
+ heartbeatInterval, wsReconnectInterval, losslessCommunication, onPayloadLossJS).toString();
}
if (autoremoveParentScript) {
return buildJsContentWithoutHeartbeat(wsUrl, instanceId, removePrevBPOnInitTab, removePrevBPOnClosetTab,
- wsReconnectInterval).append(AUTOREMOVE_PARENT_SCRIPT).toString();
+ wsReconnectInterval, losslessCommunication, onPayloadLossJS).append(AUTOREMOVE_PARENT_SCRIPT)
+ .toString();
}
return buildJsContentWithoutHeartbeat(wsUrl, instanceId, removePrevBPOnInitTab, removePrevBPOnClosetTab,
- wsReconnectInterval).toString();
+ wsReconnectInterval, losslessCommunication, onPayloadLossJS).toString();
}
try {
@@ -572,19 +582,20 @@ public static String getAllOptimizedContent(final String wsUrl, final String ins
if (heartbeatInterval > 0) {
if (autoremoveParentScript) {
return buildJsContentWithHeartbeat(wsUrl, instanceId, removePrevBPOnInitTab,
- removePrevBPOnClosetTab, heartbeatInterval, wsReconnectInterval)
- .append(AUTOREMOVE_PARENT_SCRIPT).toString();
+ removePrevBPOnClosetTab, heartbeatInterval, wsReconnectInterval, losslessCommunication,
+ onPayloadLossJS).append(AUTOREMOVE_PARENT_SCRIPT).toString();
}
return buildJsContentWithHeartbeat(wsUrl, instanceId, removePrevBPOnInitTab, removePrevBPOnClosetTab,
- heartbeatInterval, wsReconnectInterval).toString();
+ heartbeatInterval, wsReconnectInterval, losslessCommunication, onPayloadLossJS).toString();
}
if (autoremoveParentScript) {
return buildJsContentWithoutHeartbeat(wsUrl, instanceId, removePrevBPOnInitTab, removePrevBPOnClosetTab,
- wsReconnectInterval).append(AUTOREMOVE_PARENT_SCRIPT).toString();
+ wsReconnectInterval, losslessCommunication, onPayloadLossJS).append(AUTOREMOVE_PARENT_SCRIPT)
+ .toString();
}
return buildJsContentWithoutHeartbeat(wsUrl, instanceId, removePrevBPOnInitTab, removePrevBPOnClosetTab,
- wsReconnectInterval).toString();
+ wsReconnectInterval, losslessCommunication, onPayloadLossJS).toString();
} catch (final Exception e) {
if (LOGGER.isLoggable(Level.SEVERE)) {
LOGGER.log(Level.SEVERE, e.getMessage(), e);
@@ -595,14 +606,15 @@ public static String getAllOptimizedContent(final String wsUrl, final String ins
private static StringBuilder buildJsContentWithHeartbeat(final String wsUrl, final String instanceId,
final boolean removePrevBPOnInitTab, final boolean removePrevBPOnClosetTab, final int heartbeatInterval,
- final int wsReconnectInterval) {
+ final int wsReconnectInterval, final boolean losslessCommunication, final String onPayloadLossJS) {
return buildJsContentWithoutHeartbeat(wsUrl, instanceId, removePrevBPOnInitTab, removePrevBPOnClosetTab,
- wsReconnectInterval).append(
+ wsReconnectInterval, losslessCommunication, onPayloadLossJS).append(
HEART_BEAT_JS.replace("\"${HEARTBEAT_INTERVAL}\"", Integer.toString(heartbeatInterval)));
}
private static StringBuilder buildJsContentWithoutHeartbeat(final String wsUrl, final String instanceId,
- final boolean removePrevBPOnInitTab, final boolean removePrevBPOnClosetTab, final int wsReconnectInterval) {
+ final boolean removePrevBPOnInitTab, final boolean removePrevBPOnClosetTab, final int wsReconnectInterval,
+ final boolean losslessCommunication, final String onPayloadLossJS) {
final StringBuilder globalContentBuider = new StringBuilder(WFF_GLOBAL.optimizedFileContent);
@@ -634,6 +646,11 @@ private static StringBuilder buildJsContentWithoutHeartbeat(final String wsUrl,
URIEventInitiator.getJsObjectString());
StringBuilderUtil.replaceFirst(globalContentBuider, "\"${WS_RECON}\"", String.valueOf(wsReconnectInterval));
+ StringBuilderUtil.replaceFirst(globalContentBuider, "\"${LOSSLESS_COMM}\"",
+ String.valueOf(losslessCommunication));
+ String onLossyCommJS = onPayloadLossJS != null ? onPayloadLossJS.strip() : "";
+ onLossyCommJS = onLossyCommJS.endsWith(";") ? onLossyCommJS : onLossyCommJS + ";";
+ StringBuilderUtil.replaceFirst(globalContentBuider, "\"${ON_PAYLOAD_LOSS}\"", onLossyCommJS);
final String globalContent = globalContentBuider.toString();
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/AttributeAddListener.java b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/AttributeAddListener.java
index 64798886d..b97a23d61 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/AttributeAddListener.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/AttributeAddListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/AttributeRemoveListener.java b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/AttributeRemoveListener.java
index 02d608f2a..783768c9e 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/AttributeRemoveListener.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/AttributeRemoveListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/ChildTagAppendListener.java b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/ChildTagAppendListener.java
index bc4cc16aa..e8b9eca52 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/ChildTagAppendListener.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/ChildTagAppendListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/ChildTagRemoveListener.java b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/ChildTagRemoveListener.java
index 9a3512cf6..fb02fa078 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/ChildTagRemoveListener.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/ChildTagRemoveListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/InnerHtmlAddListener.java b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/InnerHtmlAddListener.java
index da5c668f8..3aa3b5f5d 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/InnerHtmlAddListener.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/InnerHtmlAddListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/InsertAfterListener.java b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/InsertAfterListener.java
index d12b95075..b66d39aa0 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/InsertAfterListener.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/InsertAfterListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/InsertBeforeListener.java b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/InsertBeforeListener.java
index db6c2a846..6158a4c81 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/InsertBeforeListener.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/InsertBeforeListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/InsertTagsBeforeListener.java b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/InsertTagsBeforeListener.java
index 7fcbebc3a..d877ed1c2 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/InsertTagsBeforeListener.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/InsertTagsBeforeListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/PushQueue.java b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/PushQueue.java
index 1b29f47ec..32818e6e2 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/PushQueue.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/PushQueue.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/ReplaceListener.java b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/ReplaceListener.java
index 70d7e1fc9..5dc6b00be 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/ReplaceListener.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/ReplaceListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/URIChangeTagSupplier.java b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/URIChangeTagSupplier.java
index b07ce050f..9571e519a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/URIChangeTagSupplier.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/URIChangeTagSupplier.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/WffBMDataDeleteListener.java b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/WffBMDataDeleteListener.java
index 9112d9f02..f32a92030 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/WffBMDataDeleteListener.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/WffBMDataDeleteListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/WffBMDataUpdateListener.java b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/WffBMDataUpdateListener.java
index d37850d88..711de8238 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/WffBMDataUpdateListener.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/internal/tag/html/listener/WffBMDataUpdateListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/interpreter/CodeExecutor.java b/wffweb/src/main/java/com/webfirmframework/wffweb/interpreter/CodeExecutor.java
index ab163723b..ba6891890 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/interpreter/CodeExecutor.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/interpreter/CodeExecutor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/interpreter/ForEach.java b/wffweb/src/main/java/com/webfirmframework/wffweb/interpreter/ForEach.java
index e3804c00c..8aafc5295 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/interpreter/ForEach.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/interpreter/ForEach.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/io/OutputBuffer.java b/wffweb/src/main/java/com/webfirmframework/wffweb/io/OutputBuffer.java
index 3c08c9934..0e5d1d106 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/io/OutputBuffer.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/io/OutputBuffer.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/io/package-info.java b/wffweb/src/main/java/com/webfirmframework/wffweb/io/package-info.java
index 2ece0f83d..906c244e0 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/io/package-info.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/io/package-info.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed 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
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/js/JsUtil.java b/wffweb/src/main/java/com/webfirmframework/wffweb/js/JsUtil.java
index c307902cd..f4d804319 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/js/JsUtil.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/js/JsUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/lang/UnicodeString.java b/wffweb/src/main/java/com/webfirmframework/wffweb/lang/UnicodeString.java
index 0ee73f441..0d35f9546 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/lang/UnicodeString.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/lang/UnicodeString.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/AttributeAddListenerImpl.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/AttributeAddListenerImpl.java
index 7332533ea..5eadaeba2 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/AttributeAddListenerImpl.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/AttributeAddListenerImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/AttributeRemoveListenerImpl.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/AttributeRemoveListenerImpl.java
index 3531ece19..b110b2c0f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/AttributeRemoveListenerImpl.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/AttributeRemoveListenerImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/AttributeValueChangeListenerImpl.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/AttributeValueChangeListenerImpl.java
index c0ed035b1..ce6809e5d 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/AttributeValueChangeListenerImpl.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/AttributeValueChangeListenerImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/BrowserPage.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/BrowserPage.java
index 574faa3da..9743e4352 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/BrowserPage.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/BrowserPage.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -46,6 +46,7 @@
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.Executor;
import java.util.concurrent.Semaphore;
+import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference;
import java.util.concurrent.atomic.AtomicReferenceArray;
@@ -68,6 +69,7 @@
import com.webfirmframework.wffweb.internal.security.object.BrowserPageSecurity;
import com.webfirmframework.wffweb.internal.security.object.SecurityObject;
import com.webfirmframework.wffweb.internal.server.page.js.WffJsFile;
+import com.webfirmframework.wffweb.server.page.action.BrowserPageAction;
import com.webfirmframework.wffweb.settings.WffConfiguration;
import com.webfirmframework.wffweb.tag.html.AbstractHtml;
import com.webfirmframework.wffweb.tag.html.Html;
@@ -183,9 +185,11 @@ public abstract class BrowserPage implements Serializable {
private int wsReconnectInterval = -1;
- private static int wsDefaultHeartbeatInterval = 25_000;
+ private static final int INITIAL_WS_DEFAULT_HEARTBEAT_INTERVAL = 25_000;
- private static int wsDefaultReconnectInterval = 2_000;
+ private static volatile int wsDefaultHeartbeatInterval = INITIAL_WS_DEFAULT_HEARTBEAT_INTERVAL;
+
+ private static volatile int wsDefaultReconnectInterval = 2_000;
private final LongAdder pushQueueSize = new LongAdder();
@@ -228,6 +232,38 @@ public abstract class BrowserPage implements Serializable {
private volatile Reference sessionRef;
+ private static final byte[] PLACEHOLDER_BYTE_ARRAY_FOR_PAYLOAD_ID = new byte[4];
+
+ private final AtomicInteger serverSidePayloadIdGenerator = new AtomicInteger();
+
+ private final AtomicInteger clientSidePayloadIdGenerator = new AtomicInteger();
+
+ private static final long DEFAULT_IO_BUFFER_TIMEOUT = TimeUnit.MILLISECONDS
+ .toNanos(INITIAL_WS_DEFAULT_HEARTBEAT_INTERVAL);
+
+ // should be before settings field initialization
+ // 1024 *1024 = 1048576 i.e. 1MB, a heavy html page size might be 1 MB in size
+ // so considered this value.
+ // gave inputBufferTimeout and outputBufferTimeout = 25_000 as the
+ // wsDefaultHeartbeatInterval is 25_000ms
+ private final Settings defaultSettings = new Settings(1048576, DEFAULT_IO_BUFFER_TIMEOUT, 1048576,
+ DEFAULT_IO_BUFFER_TIMEOUT, new OnPayloadLoss("location.reload();", () -> BrowserPage.this
+ .performBrowserPageAction(BrowserPageAction.RELOAD_FROM_CACHE.getActionByteBuffer())));
+
+ final Settings settings = useSettingsPvt();
+
+ private final OnPayloadLoss onPayloadLoss = settings.onPayloadLoss;
+
+ private final Semaphore inputBufferLimitLock = settings.inputBufferLimit > 0
+ ? new Semaphore(settings.inputBufferLimit)
+ : null;
+
+ private final Semaphore outputBufferLimitLock = settings.outputBufferLimit > 0
+ ? new Semaphore(settings.outputBufferLimit)
+ : null;
+
+ private volatile boolean losslessCommunicationCheckFailed;
+
// NB: this non-static initialization makes BrowserPage and PayloadProcessor
// never to get GCd. It leads to memory leak. It seems to be a bug.
// private final ThreadLocal PALYLOAD_PROCESSOR_TL =
@@ -269,6 +305,96 @@ public enum On {
INIT_REMOVE_PREVIOUS
}
+ /**
+ * @since 12.0.0-beta.8
+ */
+ @FunctionalInterface
+ protected interface ServerSideAction {
+ void perform();
+ }
+
+ /**
+ * @param javaScript the JavaScript code to invoke at client side when
+ * there is a lossy communication detected at client
+ * side.
+ * @param serverSideAction the action to perform at server side when there is a
+ * lossy communication detected at server side.
+ * @since 12.0.0-beta.8
+ */
+ protected record OnPayloadLoss(String javaScript, ServerSideAction serverSideAction) {
+ // should be public
+
+ public OnPayloadLoss {
+ }
+ }
+
+ /**
+ * The {@code Settings} object returned by {@link #defaultSettings()} method
+ * contains the default values for all of these parameters. The
+ * {@code inputBufferLimit} and {@code outputBufferLimit} works as expected only
+ * when {@code onPayloadLoss} param is passed otherwise the buffer may grow
+ * beyond the given limit especially when corresponding buffer timeout is less
+ * than the equalent nanoseconds of BrowserPage session maxIdleTimeout (the
+ * {@code maxIdleTimeout} passed from
+ * {@link BrowserPageContext#enableAutoClean}, eg: long inputBufferTimeout,
+ * outputBufferTimeout = TimeUnit.MILLISECONDS.toNanos(maxIdleTimeout));.
+ *
+ * @param inputBufferLimit the limit for input buffer, i.e. the number of
+ * bytes allowed to store, a value <= 0 represents
+ * no limit i.e. unlimited size. This is the buffer
+ * used to store the data from the client events. The
+ * threads which store the data to the buffer will be
+ * blocked until enough space available in the
+ * buffer.
+ * @param inputBufferTimeout the timeout nanoseconds for waiting threads of
+ * input buffer. The optimal value may be a value
+ * less than the heartbeat time of websocket in
+ * nanoseconds ( set by
+ * {@link #setWebSocketHeartbeatInterval(int)} or
+ * {@link #setWebSocketDefultHeartbeatInterval(int)}).
+ * However, this value strictly depends on your
+ * application environment & project
+ * requirements. The maximum recommended value is
+ * usually equal to the timeout of session in
+ * nanoseconds, which is nanoseconds of
+ * {@code maxIdleTimeout} passed in
+ * {@link BrowserPageContext#enableAutoClean}, eg:
+ * long inputBufferTimeout =
+ * TimeUnit.MILLISECONDS.toNanos(maxIdleTimeout).
+ * @param outputBufferLimit the limit for output buffer, i.e. the number of
+ * bytes allowed to store, a value <= 0 represents
+ * no limit i.e. unlimited size. This is the buffer
+ * used to store the data from the server events. The
+ * threads which store the data to the buffer will be
+ * blocked until enough space available in the
+ * buffer.
+ * @param outputBufferTimeout the timeout nanoseconds for waiting threads of
+ * output buffer. The optimal value may be a value
+ * less than the heartbeat time of websocket in
+ * nanoseconds ( set by
+ * {@link #setWebSocketHeartbeatInterval(int)} or
+ * {@link #setWebSocketDefultHeartbeatInterval(int)}).
+ * However, this value strictly depends on your
+ * application environment & project
+ * requirements. The maximum recommended value is
+ * usually equal to the timeout of session in
+ * nanoseconds, which is nanoseconds of
+ * {@code maxIdleTimeout} passed in
+ * {@link BrowserPageContext#enableAutoClean}, eg:
+ * long outputBufferTimeout =
+ * TimeUnit.MILLISECONDS.toNanos(maxIdleTimeout).
+ * @param onPayloadLoss pass an object of {@code OnPayloadLoss} to enable
+ * or null to disable lossless browser page
+ * communication.
+ * @since 12.0.0-beta.8
+ */
+ protected record Settings(int inputBufferLimit, long inputBufferTimeout, int outputBufferLimit,
+ long outputBufferTimeout, OnPayloadLoss onPayloadLoss) {
+ // should be public
+ public Settings {
+ }
+ }
+
public abstract String webSocketUrl();
/**
@@ -435,8 +561,8 @@ public final WebSocketPushListener getWsListener() {
}
final void push(final NameValue... nameValues) {
- push(new ClientTasksWrapper(
- ByteBuffer.wrap(WffBinaryMessageUtil.VERSION_1.getWffBinaryMessageBytes(nameValues))));
+ final ByteBuffer payload = buildPayload(WffBinaryMessageUtil.VERSION_1.getWffBinaryMessageBytes(nameValues));
+ push(new ClientTasksWrapper(payload));
}
/**
@@ -452,9 +578,9 @@ final ClientTasksWrapper pushAndGetWrapper(final Queue> mu
while ((taskNameValues = multiTasks.poll()) != null) {
final NameValue[] nameValues = taskNameValues.toArray(new NameValue[taskNameValues.size()]);
- final ByteBuffer byteBuffer = ByteBuffer
- .wrap(WffBinaryMessageUtil.VERSION_1.getWffBinaryMessageBytes(nameValues));
- tasks[index] = byteBuffer;
+ final ByteBuffer payload = buildPayload(
+ WffBinaryMessageUtil.VERSION_1.getWffBinaryMessageBytes(nameValues));
+ tasks[index] = payload;
index++;
}
@@ -463,13 +589,11 @@ final ClientTasksWrapper pushAndGetWrapper(final Queue> mu
return clientTasks;
}
- private void push(final ClientTasksWrapper clientTasks) {
-
+ private void pushLockless(final ClientTasksWrapper clientTasks) {
if (holdPush.get() > 0) {
// add method internally calls offer method in ConcurrentLinkedQueue
wffBMBytesHoldPushQueue.offer(clientTasks);
} else {
-
if (!wffBMBytesHoldPushQueue.isEmpty()) {
copyCachedBMBytesToMainQ();
}
@@ -482,6 +606,55 @@ private void push(final ClientTasksWrapper clientTasks) {
}
}
+ private void push(final ClientTasksWrapper clientTasks) {
+ if (outputBufferLimitLock != null) {
+ if (!losslessCommunicationCheckFailed) {
+ try {
+ // onPayloadLoss check should be second
+ if (outputBufferLimitLock.tryAcquire(clientTasks.getCurrentSize(), settings.outputBufferTimeout,
+ TimeUnit.NANOSECONDS) || onPayloadLoss == null) {
+ pushLockless(clientTasks);
+ } else {
+ losslessCommunicationCheckFailed = true;
+ if (LOGGER.isLoggable(Level.SEVERE)) {
+ LOGGER.severe(
+ """
+ Buffer timeout reached while preparing server event for client so further changes will not be pushed to client.
+ Increase Settings.outputBufferLimit or Settings.outputBufferTimeout to solve this issue.
+ NB: Settings.outputBufferTimeout should be <= maxIdleTimeout by BrowserPageContent.enableAutoClean method.""");
+ }
+ if (onPayloadLoss.javaScript != null && !onPayloadLoss.javaScript.isBlank()) {
+ // it already contains placeholder for payloadId
+ final ByteBuffer clientAction = BrowserPageAction
+ .getActionByteBufferForExecuteJS(onPayloadLoss.javaScript);
+
+ if (wffBMBytesQueue instanceof final ExternalDriveClientTasksWrapperDeque deque) {
+ deque.clearLast();
+ // deque.offerFirst is not allowed as the ClientTasksWrapper will not have
+ // queueEntryId for
+ // ExternalDriveClientTasksWrapperDeque
+ deque.offerLast(new ClientTasksWrapper(clientAction));
+ } else {
+ // do not use clear() as it may not clear from last to first in
+ // ConcurrentLinkedDeque (no guarantee)
+ while (wffBMBytesQueue.pollLast() != null) {
+ // do nothing here, just to remove all items
+ }
+ wffBMBytesQueue.offerFirst(new ClientTasksWrapper(clientAction));
+ }
+ }
+ }
+ } catch (final InterruptedException e) {
+ if (LOGGER.isLoggable(Level.SEVERE)) {
+ LOGGER.log(Level.SEVERE, "Thread interrupted while preparing server event for client.", e);
+ }
+ }
+ }
+ } else {
+ pushLockless(clientTasks);
+ }
+ }
+
private void pushWffBMBytesQueue() {
if (wsListener != null) {
@@ -510,36 +683,45 @@ private void pushWffBMBytesQueue() {
ClientTasksWrapper clientTask = wffBMBytesQueue.poll();
if (clientTask != null) {
- AtomicReferenceArray byteBuffers;
+ AtomicReferenceArray tasks;
do {
pushQueueSize.decrement();
+ int totalBytesPushed = 0;
try {
-
- byteBuffers = clientTask.tasks();
- if (byteBuffers != null) {
- final int length = byteBuffers.length();
+ tasks = clientTask.tasks();
+ if (tasks != null) {
+ final int length = tasks.length();
for (int i = 0; i < length; i++) {
- final ByteBuffer byteBuffer = byteBuffers.get(i);
- if (byteBuffer != null) {
- wsListener.push(byteBuffer);
+ final ByteBuffer task = tasks.get(i);
+ if (task != null) {
+ wsListener.push(buildPayloadForClient(task));
+ final int capacity = task.capacity();
+ totalBytesPushed += capacity;
+ clientTask.nullifyTask(capacity, tasks, i);
}
- byteBuffers.set(i, null);
}
clientTask.nullifyTasks();
+ } else {
+ totalBytesPushed = clientTask.getCurrentSize();
}
-
} catch (final PushFailedException e) {
if (pushQueueEnabled && wffBMBytesQueue.offerFirst(clientTask)) {
+ rollbackServerSidePayloadId();
pushQueueSize.increment();
}
break;
} catch (final IllegalStateException | NullPointerException e) {
if (wffBMBytesQueue.offerFirst(clientTask)) {
+ rollbackServerSidePayloadId();
pushQueueSize.increment();
}
break;
+ } finally {
+ if (outputBufferLimitLock != null && totalBytesPushed > 0) {
+ outputBufferLimitLock.release(totalBytesPushed);
+ }
}
if (pushWffBMBytesQueueLock.hasQueuedThreads()) {
@@ -621,20 +803,58 @@ protected void onInitialClientPing(final AbstractHtml rootTag) {
* @since 2.1.0
*/
public final void webSocketMessaged(final byte[] message) {
+ if (!checkLosslessCommunication(message)) {
+ return;
+ }
+ webSocketMessagedWithoutLosslessCheck(message);
+ }
+
+ /**
+ * @param message the bytes the received in onmessage
+ *
+ * @since 2.1.0
+ */
+ final void webSocketMessagedWithoutLosslessCheck(final byte[] message) {
+
+ // should be after checkLosslessCommunication
lastClientAccessedTime = System.currentTimeMillis();
// minimum number of an empty bm message length is 4
// below that length is not a valid bm message so check
// message.length < 4
// later if there is such requirement
if (message.length < 4) {
- // message.length == 0 when client sends an empty message just
- // for ping
return;
}
// executeWffBMTask(message);
- taskFromClientQ.offer(message);
+ if (inputBufferLimitLock != null) {
+ try {
+ // onPayloadLoss check should be second
+ if (inputBufferLimitLock.tryAcquire(message.length, settings.inputBufferTimeout, TimeUnit.NANOSECONDS)
+ || onPayloadLoss == null) {
+ taskFromClientQ.offer(message);
+ } else {
+ losslessCommunicationCheckFailed = true;
+ if (LOGGER.isLoggable(Level.SEVERE)) {
+ LOGGER.severe(
+ """
+ Buffer timeout reached while processing event from client so further client events will not be received at server side.
+ Increase Settings.inputBufferLimit or Settings.inputBufferTimeout to solve this issue.
+ NB: Settings.inputBufferTimeout should be <= maxIdleTimeout by BrowserPageContent.enableAutoClean method.""");
+ }
+ if (onPayloadLoss.serverSideAction != null) {
+ onPayloadLoss.serverSideAction.perform();
+ }
+ }
+ } catch (final InterruptedException e) {
+ if (LOGGER.isLoggable(Level.SEVERE)) {
+ LOGGER.log(Level.SEVERE, "Thread interrupted while preparing server event for client.", e);
+ }
+ }
+ } else {
+ taskFromClientQ.offer(message);
+ }
if (!taskFromClientQ.isEmpty()) {
final Executor executor = this.executor;
@@ -650,6 +870,26 @@ public final void webSocketMessaged(final byte[] message) {
}
+ final boolean checkLosslessCommunication(final byte[] message) {
+ if (losslessCommunicationCheckFailed) {
+ return false;
+ }
+ // if lossless communication is enabled
+ if (onPayloadLoss != null && message.length > PLACEHOLDER_BYTE_ARRAY_FOR_PAYLOAD_ID.length) {
+ final int payloadId = WffBinaryMessageUtil
+ .getIntFromBytes(new byte[] { message[0], message[1], message[2], message[3] });
+ if (payloadId == getClientSidePayloadId()) {
+ losslessCommunicationCheckFailed = false;
+ return true;
+ }
+ losslessCommunicationCheckFailed = true;
+ onPayloadLoss.serverSideAction.perform();
+ return false;
+ }
+ losslessCommunicationCheckFailed = false;
+ return true;
+ }
+
/**
* @since 3.0.15
*/
@@ -692,6 +932,10 @@ private void executeTasksFromClientFromQ() {
if (LOGGER.isLoggable(Level.SEVERE)) {
LOGGER.log(Level.SEVERE, "Could not process this data received from client.", e);
}
+ } finally {
+ if (inputBufferLimitLock != null) {
+ inputBufferLimitLock.release(taskFromClient.length);
+ }
}
if (taskFromClientQLock.hasQueuedThreads()) {
@@ -714,7 +958,7 @@ private void executeTasksFromClientFromQ() {
/**
* Invokes just before {@link BrowserPage#render()} method. This is an empty
* method in BrowserPage. Override and use. This method invokes only once per
- * object in all of its life time.
+ * object in all of its lifetime.
*
* @since 3.0.1
*/
@@ -724,7 +968,7 @@ protected void beforeRender() {
/**
* Override and use this method to render html content to the client browser
- * page. This method invokes only once per object in all of its life time.
+ * page. This method invokes only once per object in all of its lifetime.
*
* @return the object of {@link Html} class which needs to be displayed in the
* client browser page.
@@ -735,7 +979,7 @@ protected void beforeRender() {
/**
* Invokes after {@link BrowserPage#render()} method. This is an empty method in
* BrowserPage. Override and use. This method invokes only once per object in
- * all of its life time.
+ * all of its lifetime.
*
* @param rootTag the rootTag returned by {@link BrowserPage#render()} method.
* @since 3.0.1
@@ -997,7 +1241,19 @@ private void invokeCustomServerMethod(final List nameValues) {
*/
private void executeWffBMTask(final byte[] message) throws UnsupportedEncodingException {
- final List nameValues = WffBinaryMessageUtil.VERSION_1.parse(message);
+ // message is a BM Message which never starts with 0, if it starts with 0 it
+ // means it is prepended by id placeholder
+ final int offset;
+ final int length;
+ if (onPayloadLoss != null) {
+ offset = PLACEHOLDER_BYTE_ARRAY_FOR_PAYLOAD_ID.length;
+ length = message.length - offset;
+ } else {
+ offset = 0;
+ length = message.length;
+ }
+
+ final List nameValues = WffBinaryMessageUtil.VERSION_1.parse(message, offset, length);
final NameValue task = nameValues.get(0);
final byte taskValue = task.getValues()[0][0];
@@ -1521,11 +1777,14 @@ private void embedWffScriptIfRequired(final AbstractHtml abstractHtml, final Str
script.setDataWffId(wffScriptTagId);
+ final boolean losslessCommunication = onPayloadLoss != null;
+ final String onPayloadLossJS = losslessCommunication ? onPayloadLoss.javaScript : "";
+
final String wffJs = WffJsFile.getAllOptimizedContent(wsUrlWithInstanceId, getInstanceId(),
removePrevFromBrowserContextOnTabInit, removeFromBrowserContextOnTabClose,
(wsHeartbeatInterval > 0 ? wsHeartbeatInterval : wsDefaultHeartbeatInterval),
(wsReconnectInterval > 0 ? wsReconnectInterval : wsDefaultReconnectInterval),
- autoremoveWffScript);
+ autoremoveWffScript, losslessCommunication, onPayloadLossJS);
if (enableDeferOnWffScript) {
// byes are in UTF-8 so charset=utf-8 is explicitly
@@ -1566,10 +1825,13 @@ private void embedWffScriptIfRequired(final AbstractHtml abstractHtml, final Str
script.setDataWffId(wffScriptTagId);
+ final boolean losslessCommunication = onPayloadLoss != null;
+ final String onPayloadLossJS = losslessCommunication ? onPayloadLoss.javaScript : "";
final String wffJs = WffJsFile.getAllOptimizedContent(wsUrlWithInstanceId, getInstanceId(),
removePrevFromBrowserContextOnTabInit, removeFromBrowserContextOnTabClose,
(wsHeartbeatInterval > 0 ? wsHeartbeatInterval : wsDefaultHeartbeatInterval),
- (wsReconnectInterval > 0 ? wsReconnectInterval : wsDefaultReconnectInterval), autoremoveWffScript);
+ (wsReconnectInterval > 0 ? wsReconnectInterval : wsDefaultReconnectInterval), autoremoveWffScript,
+ losslessCommunication, onPayloadLossJS);
if (enableDeferOnWffScript) {
// byes are in UTF-8 so charset=utf-8 is explicitly specified
@@ -2203,6 +2465,7 @@ public final void removeServerMethod(final String methodName) {
* @since 2.1.0
*/
public final void performBrowserPageAction(final ByteBuffer actionByteBuffer) {
+ // actionByteBuffer is already prepended by payloadId placeholder
push(new ClientTasksWrapper(actionByteBuffer));
if (holdPush.get() == 0) {
pushWffBMBytesQueue();
@@ -2331,14 +2594,18 @@ private boolean copyCachedBMBytesToMainQ() {
int index = 0;
for (final ByteBuffer eachWffBM : wffBMs) {
- values[index] = eachWffBM.array();
+ values[index] = removePayloadIdPlaceholder(eachWffBM);
index++;
}
invokeMultipleTasks.setValues(values);
- wffBMBytesQueue.add(new ClientTasksWrapper(ByteBuffer
- .wrap(WffBinaryMessageUtil.VERSION_1.getWffBinaryMessageBytes(invokeMultipleTasks))));
+ final ByteBuffer payload = buildPayload(
+ WffBinaryMessageUtil.VERSION_1.getWffBinaryMessageBytes(invokeMultipleTasks));
+
+ // no need to call outputBufferLimitLock.tryAcquire as its caller methods do
+ // this locking
+ wffBMBytesQueue.add(new ClientTasksWrapper(payload));
pushQueueSize.increment();
@@ -2431,7 +2698,7 @@ protected void removedFromContext() {
/**
* To check if the given tag exists in the UI.
* NB:- This method is valid only if {@code browserPage#toHtmlString} or
- * {@code browserPage#toOutputStream} is called at least once in the life time.
+ * {@code browserPage#toOutputStream} is called at least once in the lifetime.
*
* @param tag the tag object to be checked.
* @return true if the given tag contains in the BrowserPage i.e. UI. false if
@@ -2441,7 +2708,7 @@ protected void removedFromContext() {
* rendered. i.e. if
* {@code browserPage#toHtmlString} or
* {@code browserPage#toOutputStream} was NOT
- * called at least once in the life time.
+ * called at least once in the lifetime.
*
* @since 2.1.7
*/
@@ -2453,16 +2720,16 @@ public final boolean contains(final AbstractHtml tag) throws NullValueException,
if (rootTag == null) {
throw new NotRenderedException(
- "Could not check its existance. Make sure that you have called browserPage#toHtmlString method atleast once in the life time.");
+ "Could not check its existence. Make sure that you have called browserPage#toHtmlString method at least once in the lifetime.");
}
- // this is better way to check, the rest of the code is old
+ // this is the better way of checking, the rest of the code is old
return rootTag.getSharedObject().equals(tag.getSharedObject());
}
/**
* Sets the heartbeat ping interval of webSocket client in milliseconds. Give -1
- * to disable it. By default it's set with -1. It affects only for the
+ * to disable it. By default, it's set with -1. It affects only for the
* corresponding {@code BrowserPage} instance from which it is called.
* NB:- This method has effect only if it is called before
* {@code BrowserPage#render()} method return. This method can be called inside
@@ -2491,7 +2758,7 @@ public final int getWebSocketHeartbeatInterval() {
/**
* Sets the default heartbeat ping interval of webSocket client in milliseconds.
- * Give -1 to disable it. It affects globally. By default it's set with -1 till
+ * Give -1 to disable it. It affects globally. By default, it's set with -1 till
* wffweb-2.1.8 and Since wffweb-2.1.9 it's 25000ms i.e. 25 seconds.
* NB:- This method has effect only if it is called before
* {@code BrowserPage#render()} invocation.
@@ -2518,7 +2785,7 @@ public static final int getWebSocketDefultHeartbeatInterval() {
/**
* Sets the default reconnect interval of webSocket client in milliseconds. It
- * affects globally. By default it's set with 2000 ms.
+ * affects globally. By default, it's set with 2000 ms.
* NB:- This method has effect only if it is called before
* {@code BrowserPage#render()} invocation.
*
@@ -2546,7 +2813,7 @@ public static final int getWebSocketDefultReconnectInterval() {
/**
* Sets the reconnect interval of webSocket client in milliseconds. Give -1 to
- * disable it. By default it's set with -1. It affects only for the
+ * disable it. By default, it's set with -1. It affects only for the
* corresponding {@code BrowserPage} instance from which it is called.
* NB:- This method has effect only if it is called before
* {@code BrowserPage#render()} method return. This method can be called inside
@@ -3055,4 +3322,108 @@ public Path getTempDirectory() {
return tempDirPath;
}
+ protected final Settings defaultSettings() {
+ return defaultSettings;
+ }
+
+ private Settings useSettingsPvt() {
+ try {
+ final Settings settings = useSettings();
+ if (settings != null) {
+ return settings;
+ }
+ } catch (final InvalidValueException e) {
+ if (LOGGER.isLoggable(Level.SEVERE)) {
+ LOGGER.log(Level.SEVERE, e.getMessage(), e);
+ }
+ } catch (final RuntimeException e) {
+ if (LOGGER.isLoggable(Level.SEVERE)) {
+ LOGGER.log(Level.SEVERE,
+ "Exception while invoking the overridden useSettings method so default Settings will be applied",
+ e);
+ }
+ }
+ return defaultSettings;
+ }
+
+ /**
+ * @return the settings for this browserPage instance
+ * @since 12.0.0-beta.8
+ */
+ protected Settings useSettings() {
+ return defaultSettings;
+ }
+
+ /**
+ * @return the Settings applied to this browserPage instance
+ * @since 12.0.0-beta.8
+ */
+ protected final Settings getSettings() {
+ return settings;
+ }
+
+ private ByteBuffer buildPayload(final byte[] bmMsg) {
+ if (onPayloadLoss != null) {
+ // 4 for id bytes
+ final ByteBuffer byteBuffer = ByteBuffer
+ .allocate(bmMsg.length + PLACEHOLDER_BYTE_ARRAY_FOR_PAYLOAD_ID.length);
+ // bmMsg never starts with 0, if it starts with 0 it means it is already
+ // prepended by id placeholder
+ if (bmMsg[0] != 0) {
+ // placeholder for id bytes
+ byteBuffer.put(PLACEHOLDER_BYTE_ARRAY_FOR_PAYLOAD_ID);
+ }
+ byteBuffer.put(bmMsg);
+ byteBuffer.rewind();
+ return byteBuffer;
+ }
+
+ return ByteBuffer.wrap(bmMsg);
+ }
+
+ private byte[] removePayloadIdPlaceholder(final ByteBuffer bmMsg) {
+ final byte[] array = bmMsg.array();
+ if (onPayloadLoss != null) {
+ final byte[] bmMsgWithoutId = new byte[array.length - PLACEHOLDER_BYTE_ARRAY_FOR_PAYLOAD_ID.length];
+ System.arraycopy(array, PLACEHOLDER_BYTE_ARRAY_FOR_PAYLOAD_ID.length, bmMsgWithoutId, 0,
+ bmMsgWithoutId.length);
+ bmMsg.position(PLACEHOLDER_BYTE_ARRAY_FOR_PAYLOAD_ID.length);
+ return bmMsgWithoutId;
+ }
+ return array;
+ }
+
+ private ByteBuffer buildPayloadForClient(final ByteBuffer bmMsgWithIdPlaceholder) {
+ if (onPayloadLoss != null) {
+ // id bytes should always be length 4
+ bmMsgWithIdPlaceholder.put(WffBinaryMessageUtil.getBytesFromInt(getServerSidePayloadId()));
+ bmMsgWithIdPlaceholder.rewind();
+ }
+
+ return bmMsgWithIdPlaceholder;
+ }
+
+ private int getServerSidePayloadId() {
+ int id = serverSidePayloadIdGenerator.incrementAndGet();
+ if (id == 0) {
+ id = serverSidePayloadIdGenerator.incrementAndGet();
+ }
+ return id;
+ }
+
+ private void rollbackServerSidePayloadId() {
+ final int id = serverSidePayloadIdGenerator.decrementAndGet();
+ if (id == 0) {
+ serverSidePayloadIdGenerator.decrementAndGet();
+ }
+ }
+
+ private int getClientSidePayloadId() {
+ int id = clientSidePayloadIdGenerator.incrementAndGet();
+ if (id == 0) {
+ id = clientSidePayloadIdGenerator.incrementAndGet();
+ }
+ return id;
+ }
+
}
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/BrowserPageContext.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/BrowserPageContext.java
index 2d3cd3425..18225e4b9 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/BrowserPageContext.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/BrowserPageContext.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -798,14 +798,16 @@ public void httpSessionClosed(final String httpSessionId) {
} else {
if (LOGGER.isLoggable(Level.WARNING)) {
- LOGGER.warning("The associatd HttpSession is alread closed for the id");
+ LOGGER.warning("The associated HttpSession is already closed for the id");
}
}
runAutoClean();
}
/**
- * this method should be called when the websocket is messaged.
+ * this method should be called when the websocket is messaged, it is required
+ * only if PayloadProcessor is not used to deliver data from client to
+ * BrowserPage
*
* @param wffInstanceId the wffInstanceId which can be retried from the request
* parameter in websocket connection.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/BrowserPageGCTask.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/BrowserPageGCTask.java
index 8fd4ffd6d..940e40907 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/BrowserPageGCTask.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/BrowserPageGCTask.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/BrowserPageSession.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/BrowserPageSession.java
index 45f6f6de8..ca1eff2ef 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/BrowserPageSession.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/BrowserPageSession.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/BrowserPageSessionImpl.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/BrowserPageSessionImpl.java
index 011fc6855..ec6f20ad3 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/BrowserPageSessionImpl.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/BrowserPageSessionImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ChildTagAppendListenerImpl.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ChildTagAppendListenerImpl.java
index 7c64234f2..f31c63f1b 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ChildTagAppendListenerImpl.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ChildTagAppendListenerImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ChildTagRemoveListenerImpl.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ChildTagRemoveListenerImpl.java
index 001fd755c..391db1293 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ChildTagRemoveListenerImpl.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ChildTagRemoveListenerImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ClientTasksWrapper.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ClientTasksWrapper.java
index 1de3ff8a2..9dbd6c2f4 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ClientTasksWrapper.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ClientTasksWrapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -18,22 +18,34 @@
import java.nio.ByteBuffer;
import java.util.concurrent.atomic.AtomicReferenceArray;
-public class ClientTasksWrapper {
+public final class ClientTasksWrapper {
private volatile AtomicReferenceArray tasks;
private final Long queueEntryId;
+ private volatile int currentSize;
+
ClientTasksWrapper(final ByteBuffer... tasks) {
super();
this.tasks = new AtomicReferenceArray<>(tasks);
queueEntryId = null;
+ int totalLength = 0;
+ for (final ByteBuffer task : tasks) {
+ totalLength += task.capacity();
+ }
+ currentSize = totalLength;
}
ClientTasksWrapper(final long queueEntryId, final ByteBuffer... tasks) {
super();
this.tasks = new AtomicReferenceArray<>(tasks);
this.queueEntryId = queueEntryId;
+ int totalLength = 0;
+ for (final ByteBuffer task : tasks) {
+ totalLength += task.capacity();
+ }
+ currentSize = totalLength;
}
AtomicReferenceArray tasks() {
@@ -48,4 +60,26 @@ Long queueEntryId() {
return queueEntryId;
}
+ /**
+ * @param taskLength the length of the nullifying task at the given index
+ * @param tasks the tasks to nullify at given index
+ * @param index the index where to nullify
+ * @since 12.0.0-beta.8
+ */
+ void nullifyTask(final int taskLength, final AtomicReferenceArray tasks, final int index) {
+ // tasks should be passed from argument as the instance tasks may be nullified
+ // by other thread at any time
+ tasks.set(index, null);
+ // should be locally initialized first
+ final int sizeLocal = currentSize;
+ currentSize = sizeLocal - taskLength;
+ }
+
+ /**
+ * @return the total size of all tasks.
+ * @since 12.0.0-beta.8
+ */
+ int getCurrentSize() {
+ return currentSize;
+ }
}
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/DataWffIdUtil.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/DataWffIdUtil.java
index 13d285722..2132d079d 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/DataWffIdUtil.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/DataWffIdUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ExternalDriveByteArrayQueue.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ExternalDriveByteArrayQueue.java
index 10b76c1fa..64e548bc1 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ExternalDriveByteArrayQueue.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ExternalDriveByteArrayQueue.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ExternalDriveClientTasksWrapperDeque.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ExternalDriveClientTasksWrapperDeque.java
index f7e6f5e8e..d41913128 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ExternalDriveClientTasksWrapperDeque.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ExternalDriveClientTasksWrapperDeque.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -106,13 +106,16 @@ public ClientTasksWrapper pop() {
@Override
public void clear() {
-
+ // this is not atomic
+ super.clear();
Long unreadId;
- while ((unreadId = firstUnreadIds.poll()) != null) {
+ while ((unreadId = firstUnreadIds.pollLast()) != null) {
deleteByReadId(unreadId);
}
+ }
- super.clear();
+ public void clearLast() {
+ super.clearInverse();
}
@Override
@@ -127,6 +130,16 @@ public ClientTasksWrapper removeLast() {
@Override
public ClientTasksWrapper pollLast() {
+ // it is not possible to atomically poll from last
+// final ClientTasksWrapper last = super.pollLast();
+// if (last == null) {
+// final Long unreadId = firstUnreadIds.pollLast();
+// if (unreadId != null) {
+// return super.pollByReadId(unreadId);
+// }
+// }
+//
+// return last;
throw new MethodNotImplementedException();
}
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ExternalDriveClientTasksWrapperQueue.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ExternalDriveClientTasksWrapperQueue.java
index 55f5dedce..bc1c3c6c6 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ExternalDriveClientTasksWrapperQueue.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ExternalDriveClientTasksWrapperQueue.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -108,6 +108,37 @@ public ClientTasksWrapper poll() {
return null;
}
+ ClientTasksWrapper pollLast() {
+ // NB: it is not possible to atomically poll from last so don't use this method
+ // it will make bug
+ long rId;
+ long wId = writeId.get();
+ while ((rId = readId.get()) < wId) {
+ final long newWriteId = wId - 1L;
+
+ final long toCompare = wId;
+ final long rIdFinal = rId;
+ final long currentValue = writeId.accumulateAndGet(newWriteId, (existing, newValue) -> {
+ // null means no writing in progress
+ if (existing == toCompare && writeIdInProgressStates.get(newWriteId) == null
+ && readId.get() == rIdFinal) {
+ return newValue;
+ }
+
+ return existing;
+ });
+
+ if (currentValue == newWriteId) {
+ return pollByReadId(wId);
+ } else {
+ wId = newWriteId;
+ }
+
+ }
+
+ return null;
+ }
+
ClientTasksWrapper pollByReadId(final long id) {
if (writeIdInProgressStates.get(id) != null) {
// writing is inprogress so return null
@@ -240,6 +271,12 @@ public int size() {
@Override
public void clear() {
+ clearInverse();
+ }
+
+ @SuppressWarnings("unused")
+ private void clearFromFirstToLast() {
+ // old clear() method implementation
long rId;
while ((rId = readId.get()) < writeId.get()) {
final long newReadId = rId + 1L;
@@ -253,6 +290,18 @@ public void clear() {
}
}
+ void clearInverse() {
+ long rId;
+ long wId;
+ while ((rId = readId.get()) < (wId = writeId.get())) {
+ if (writeIdInProgressStates.get(rId) == null && readId.compareAndSet(rId, wId)) {
+ for (long i = rId; i < wId; i++) {
+ deleteByReadId(i + 1L);
+ }
+ }
+ }
+ }
+
@Override
public boolean addAll(final Collection extends ClientTasksWrapper> taskWrappers) {
throw new MethodNotImplementedException();
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/HeartbeatManager.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/HeartbeatManager.java
index 32f9f2b1a..1ef0a1ea5 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/HeartbeatManager.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/HeartbeatManager.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/InnerHtmlAddListenerImpl.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/InnerHtmlAddListenerImpl.java
index cb11ffd52..5346495db 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/InnerHtmlAddListenerImpl.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/InnerHtmlAddListenerImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/InsertAfterListenerImpl.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/InsertAfterListenerImpl.java
index 21e9cc286..60106c5c3 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/InsertAfterListenerImpl.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/InsertAfterListenerImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/InsertBeforeListenerImpl.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/InsertBeforeListenerImpl.java
index 90226abd7..c1769f438 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/InsertBeforeListenerImpl.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/InsertBeforeListenerImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/InsertTagsBeforeListenerImpl.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/InsertTagsBeforeListenerImpl.java
index e0ac4df83..6ad6999c8 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/InsertTagsBeforeListenerImpl.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/InsertTagsBeforeListenerImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ItemData.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ItemData.java
index a352a37a9..1fae00764 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ItemData.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ItemData.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/LSConsumerEventRecord.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/LSConsumerEventRecord.java
index 53296ed9c..85b7913c0 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/LSConsumerEventRecord.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/LSConsumerEventRecord.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/LocalStorage.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/LocalStorage.java
index 8efd71106..285d635fd 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/LocalStorage.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/LocalStorage.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/LocalStorageImpl.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/LocalStorageImpl.java
index d33bd0b62..4e1f5e550 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/LocalStorageImpl.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/LocalStorageImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/PayloadProcessor.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/PayloadProcessor.java
index 7ceb98393..357fbdc5f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/PayloadProcessor.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/PayloadProcessor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@
import java.io.Serializable;
import java.nio.ByteBuffer;
+import java.util.ConcurrentModificationException;
import java.util.Queue;
import java.util.concurrent.ConcurrentLinkedQueue;
+import java.util.concurrent.Semaphore;
import java.util.concurrent.atomic.AtomicInteger;
-import java.util.concurrent.locks.Lock;
-import java.util.concurrent.locks.ReentrantLock;
/**
* PayloadProcessor for BrowserPage WebSocket's incoming bytes
@@ -39,16 +39,17 @@ public class PayloadProcessor implements Serializable {
private final AtomicInteger wsMessageChunksTotalCapacity = new AtomicInteger(0);
- private final BrowserPage browserPage;
+ private final Semaphore inputBufferLimitLock;
- private final boolean singleThreaded;
+ private final BrowserPage browserPage;
- private final transient Lock commonLock;
+ private volatile boolean outOfMemoryError;
public PayloadProcessor(final BrowserPage browserPage) {
this.browserPage = browserPage;
- singleThreaded = false;
- commonLock = singleThreaded ? null : new ReentrantLock(true);
+ inputBufferLimitLock = browserPage.settings.inputBufferLimit() > 0
+ ? new Semaphore(browserPage.settings.inputBufferLimit())
+ : null;
}
/**
@@ -58,8 +59,9 @@ public PayloadProcessor(final BrowserPage browserPage) {
*/
public PayloadProcessor(final BrowserPage browserPage, final boolean singleThreaded) {
this.browserPage = browserPage;
- this.singleThreaded = singleThreaded;
- commonLock = singleThreaded ? null : new ReentrantLock(true);
+ inputBufferLimitLock = browserPage.settings.inputBufferLimit() > 0
+ ? new Semaphore(browserPage.settings.inputBufferLimit())
+ : null;
}
/**
@@ -68,7 +70,6 @@ public PayloadProcessor(final BrowserPage browserPage, final boolean singleThrea
* @param dataArray the ByteByffers to merge
* @return a single ByteBuffer after flip merged from all ByteBuffer objects
* from dataArray.
- *
* @since 3.0.2
*/
// for testing purpose the method visibility is changed to package level
@@ -84,8 +85,9 @@ static byte[] pollAndConvertToByteArray(final int totalCapacity, final Queue totalCapacity) {
+ throw new ConcurrentModificationException(
+ "PayloadProcessor.webSocketMessaged method is NOT allowed to call more than one thread at a time.");
}
}
@@ -104,35 +106,89 @@ static byte[] pollAndConvertToByteArray(final int totalCapacity, final Queue browserPage.settings.inputBufferLimit()) {
+ outOfMemoryError = true;
+ throw getOutOfMemoryError(messagePart.capacity());
+ }
+ if (inputBufferLimitLock.tryAcquire(messagePart.capacity())) {
+ try {
+ browserPage.webSocketMessaged(messagePart.array());
+ } finally {
+ inputBufferLimitLock.release(messagePart.capacity());
+ }
+ } else {
+ outOfMemoryError = true;
+ throw getOutOfMemoryError(messagePart.capacity());
+ }
} else {
- commonLock.lock();
- try {
+ browserPage.webSocketMessaged(messagePart.array());
+ }
+ } else {
+ if (inputBufferLimitLock != null) {
+ if (inputBufferLimitLock.tryAcquire(messagePart.capacity())) {
transferToBrowserPageWS(messagePart, last);
- } finally {
- commonLock.unlock();
+ } else {
+ outOfMemoryError = true;
+ throw getOutOfMemoryError(messagePart.capacity());
}
+ } else {
+ transferToBrowserPageWS(messagePart, last);
}
-
}
}
+ private OutOfMemoryError getOutOfMemoryError(final int messagePartSize) {
+ return new OutOfMemoryError(
+ """
+ The client payload size is more than the allowed size of %s specified by browserPage.settings.inputBufferLimit so further payloads received from client will not be processed.
+ Increase the value of browserPage.settings.inputBufferLimit, it should be greater than or equal to a value of %s to fix this error.
+ Override useSettings method in the subclass of BrowserPage to set a new values browserPage.settings."""
+ .formatted(browserPage.settings.inputBufferLimit(), messagePartSize));
+ }
+
/**
* @param messagePart
* @param last
* @since 3.0.3
*/
private void transferToBrowserPageWS(final ByteBuffer messagePart, final boolean last) {
+ // if lossless communication is enabled
+ if (wsMessageChunks.isEmpty()) {
+ final byte[] message = messagePart.array();
+ if (!browserPage.checkLosslessCommunication(message)) {
+ if (inputBufferLimitLock != null) {
+ inputBufferLimitLock.release(message.length);
+ }
+ return;
+ }
+ }
+
if (last) {
wsMessageChunks.add(messagePart);
final int totalCapacity = wsMessageChunksTotalCapacity.getAndSet(0) + messagePart.capacity();
-
- browserPage.webSocketMessaged(pollAndConvertToByteArray(totalCapacity, wsMessageChunks));
+ final byte[] message = pollAndConvertToByteArray(totalCapacity, wsMessageChunks);
+ if (inputBufferLimitLock != null) {
+ try {
+ browserPage.webSocketMessagedWithoutLosslessCheck(message);
+ } finally {
+ inputBufferLimitLock.release(message.length);
+ }
+ } else {
+ browserPage.webSocketMessagedWithoutLosslessCheck(message);
+ }
} else {
wsMessageChunks.add(messagePart);
wsMessageChunksTotalCapacity.addAndGet(messagePart.capacity());
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ReplaceListenerImpl.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ReplaceListenerImpl.java
index 946a42a21..5668dece4 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ReplaceListenerImpl.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ReplaceListenerImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ServerMethodWrapper.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ServerMethodWrapper.java
index 86c2b59dd..5d422ccf9 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ServerMethodWrapper.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/ServerMethodWrapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/TagWeakReference.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/TagWeakReference.java
index 8dcbc3be2..e2a40deac 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/TagWeakReference.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/TagWeakReference.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/Task.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/Task.java
index 46c7eae40..e6c93500d 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/Task.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/Task.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/TokenData.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/TokenData.java
index 76112c9ef..537e8184c 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/TokenData.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/TokenData.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/TokenWrapper.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/TokenWrapper.java
index 98df50625..877e1d23f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/TokenWrapper.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/TokenWrapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/WebSocketOpenedRecord.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/WebSocketOpenedRecord.java
index 06866dbc3..6b4c90728 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/WebSocketOpenedRecord.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/WebSocketOpenedRecord.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/WebSocketPushListener.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/WebSocketPushListener.java
index dc4e6da9c..58e61e550 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/WebSocketPushListener.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/WebSocketPushListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/WffBMDataDeleteListenerImpl.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/WffBMDataDeleteListenerImpl.java
index 37e6477ff..9abfb1604 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/WffBMDataDeleteListenerImpl.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/WffBMDataDeleteListenerImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/WffBMDataUpdateListenerImpl.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/WffBMDataUpdateListenerImpl.java
index e7f83509b..5f02081f6 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/WffBMDataUpdateListenerImpl.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/WffBMDataUpdateListenerImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/action/BrowserPageAction.java b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/action/BrowserPageAction.java
index 3a3fcc593..2b527bb8c 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/action/BrowserPageAction.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/server/page/action/BrowserPageAction.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -28,24 +28,36 @@ public enum BrowserPageAction {
RELOAD(Task.RELOAD_BROWSER, null), RELOAD_FROM_CACHE(Task.RELOAD_BROWSER_FROM_CACHE, null);
- private byte[] actionBytes;
+ private static final byte[] PLACEHOLDER_BYTE_ARRAY_FOR_PAYLOAD_ID = new byte[4];
+
+ private final byte[] actionBytes;
private BrowserPageAction(final Task task, final String js) {
- init(task, js);
+ actionBytes = init(task, js);
}
- private void init(final Task task, final String js) {
+ private byte[] init(final Task task, final String js) {
+ // this should be locally declared because
+ // BrowserPageAction.PLACEHOLDER_BYTE_ARRAY_FOR_PAYLOAD_ID gives null in this
+ // scope
+ final byte[] placeholderByteArrayForPayloadId = new byte[4];
if (js != null) {
-
final NameValue nameValue = new NameValue();
nameValue.setName(js.getBytes(StandardCharsets.UTF_8));
nameValue.setValues(new byte[][] {});
- actionBytes = WffBinaryMessageUtil.VERSION_1
+ final byte[] bmMsg = WffBinaryMessageUtil.VERSION_1
.getWffBinaryMessageBytes(Task.RELOAD_BROWSER.getTaskNameValue(), nameValue);
+
+ final ByteBuffer byteBuffer = ByteBuffer.allocate(bmMsg.length + placeholderByteArrayForPayloadId.length);
+ byteBuffer.put(placeholderByteArrayForPayloadId).put(bmMsg).rewind();
+ return byteBuffer.array();
} else {
- actionBytes = WffBinaryMessageUtil.VERSION_1
+ final byte[] bmMsg = WffBinaryMessageUtil.VERSION_1
.getWffBinaryMessageBytes(Task.RELOAD_BROWSER.getTaskNameValue());
+ final ByteBuffer byteBuffer = ByteBuffer.allocate(bmMsg.length + placeholderByteArrayForPayloadId.length);
+ byteBuffer.put(placeholderByteArrayForPayloadId).put(bmMsg).rewind();
+ return byteBuffer.array();
}
}
@@ -80,26 +92,36 @@ public ByteBuffer getActionByteBuffer() {
* @author WFF
*/
public static ByteBuffer getActionByteBufferForExecuteJS(final String js) {
- return ByteBuffer.wrap(getActionBytesForExecuteJS(js, false));
+ final byte[] actionBytesForExecuteJS = getActionBytesForExecuteJS(js, false);
+ final ByteBuffer byteBuffer = ByteBuffer
+ .allocate(actionBytesForExecuteJS.length + PLACEHOLDER_BYTE_ARRAY_FOR_PAYLOAD_ID.length);
+ byteBuffer.put(PLACEHOLDER_BYTE_ARRAY_FOR_PAYLOAD_ID).put(actionBytesForExecuteJS).rewind();
+ return byteBuffer;
}
/**
* Gets the action {@code ByteBuffer} for executing the given JavaScript.
*
- * @param js JavaScript to execute in the browser
- * @param onlyInOtherBrowserPages true to execute the js only on the other pages not on
- * the page on which the the action is performed (i.e.
- * {@code browserPage.performBrowserPageAction} is
- * called). Other pages include all other pages opened
- * in other tabs even if they are loaded from different
- * nodes. false to execute the js only on the action
- * performed browser page not on other pages.
+ * @param js JavaScript to execute in the browser
+ * @param onlyInOtherBrowserPages true to execute the js only on the other pages
+ * not on the page on which the action is
+ * performed (i.e.
+ * {@code browserPage.performBrowserPageAction}
+ * is called). Other pages include all other
+ * pages opened in other tabs even if they are
+ * loaded from different nodes. false to execute
+ * the js only on the action performed browser
+ * page not on other pages.
* @return the action {@code ByteBuffer} for executing the given JavaScript in
* the browser.
* @since 12.0.0-beta.4
*/
public static ByteBuffer getActionByteBufferForExecuteJS(final String js, final boolean onlyInOtherBrowserPages) {
- return ByteBuffer.wrap(getActionBytesForExecuteJS(js, onlyInOtherBrowserPages));
+ final byte[] actionBytesForExecuteJS = getActionBytesForExecuteJS(js, onlyInOtherBrowserPages);
+ final ByteBuffer byteBuffer = ByteBuffer
+ .allocate(actionBytesForExecuteJS.length + PLACEHOLDER_BYTE_ARRAY_FOR_PAYLOAD_ID.length);
+ byteBuffer.put(PLACEHOLDER_BYTE_ARRAY_FOR_PAYLOAD_ID).put(actionBytesForExecuteJS).rewind();
+ return byteBuffer;
}
/**
@@ -114,20 +136,26 @@ public static ByteBuffer getActionByteBufferForExecuteJS(final String js, final
* @author WFF
*/
public static byte[] getActionBytesForExecuteJS(final String js) {
- return getActionBytesForExecuteJS(js, false);
+ final byte[] actionBytesForExecuteJS = getActionBytesForExecuteJS(js, false);
+ final ByteBuffer byteBuffer = ByteBuffer
+ .allocate(actionBytesForExecuteJS.length + PLACEHOLDER_BYTE_ARRAY_FOR_PAYLOAD_ID.length);
+ byteBuffer.put(PLACEHOLDER_BYTE_ARRAY_FOR_PAYLOAD_ID).put(actionBytesForExecuteJS).rewind();
+ return byteBuffer.array();
}
/**
* Gets the action bytes for executing the given JavaScript in the browser.
*
- * @param js JavaScript to execute in the browser
- * @param onlyInOtherBrowserPages true to execute the js only on the other pages not on
- * the page on which the the action is performed (i.e.
- * {@code browserPage.performBrowserPageAction} is
- * called). Other pages include all other pages opened
- * in other tabs even if they are loaded from different
- * nodes. false to execute the js only on the action
- * performed browser page not on other pages.
+ * @param js JavaScript to execute in the browser
+ * @param onlyInOtherBrowserPages true to execute the js only on the other pages
+ * not on the page on which the action is
+ * performed (i.e.
+ * {@code browserPage.performBrowserPageAction}
+ * is called). Other pages include all other
+ * pages opened in other tabs even if they are
+ * loaded from different nodes. false to execute
+ * the js only on the action performed browser
+ * page not on other pages.
* @return the action bytes for executing the given JavaScript in the browser.
* @since 12.0.0-beta.4
*/
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/settings/WffConfiguration.java b/wffweb/src/main/java/com/webfirmframework/wffweb/settings/WffConfiguration.java
index 1f2e8bc62..d8d253b4d 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/settings/WffConfiguration.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/settings/WffConfiguration.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -41,7 +41,8 @@ public class WffConfiguration {
final List inputArguments = ManagementFactory.getRuntimeMXBean().getInputArguments();
if (Integer.parseInt(System.getProperty("java.vm.specification.version", "17")) >= 19
&& (inputArguments.contains("--enable-preview")
- || inputArguments.contains("--enable-virtual-thread"))
+ || inputArguments.contains("--enable-virtual-thread")
+ || "true".equals(System.getProperty("virtualThread.enable")))
&& Executors.class.getMethod("newVirtualThreadPerTaskExecutor")
.invoke(null) instanceof final ExecutorService executor) {
tempExecutor = executor;
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/streamer/WffBinaryMessageOutputStreamer.java b/wffweb/src/main/java/com/webfirmframework/wffweb/streamer/WffBinaryMessageOutputStreamer.java
index c5254d91f..a87f2ed56 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/streamer/WffBinaryMessageOutputStreamer.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/streamer/WffBinaryMessageOutputStreamer.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/streamer/WffBinaryMessageVersion.java b/wffweb/src/main/java/com/webfirmframework/wffweb/streamer/WffBinaryMessageVersion.java
index 2620a227b..171267e61 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/streamer/WffBinaryMessageVersion.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/streamer/WffBinaryMessageVersion.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/core/AbstractJsObject.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/core/AbstractJsObject.java
index 5f49f22f7..2e1ce5ab3 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/core/AbstractJsObject.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/core/AbstractJsObject.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/core/AbstractTagBase.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/core/AbstractTagBase.java
index 9198c213a..a6fc097f1 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/core/AbstractTagBase.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/core/AbstractTagBase.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/core/TagBase.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/core/TagBase.java
index 868837165..aa0a1fb7b 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/core/TagBase.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/core/TagBase.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/AbstractHtml.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/AbstractHtml.java
index 5d7c0ec64..0aa4ed7d7 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/AbstractHtml.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/AbstractHtml.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/AbstractHtmlRepository.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/AbstractHtmlRepository.java
index ce484109f..02c2f939d 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/AbstractHtmlRepository.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/AbstractHtmlRepository.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/ApplicableTagGCTask.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/ApplicableTagGCTask.java
index 883541e76..303e7734a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/ApplicableTagGCTask.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/ApplicableTagGCTask.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/BaseFont.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/BaseFont.java
index 4b7f9b89f..bcf819895 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/BaseFont.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/BaseFont.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/Body.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/Body.java
index d4c8e6b45..c14165647 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/Body.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/Body.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/Br.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/Br.java
index 2548d85e9..7cdde2193 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/Br.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/Br.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/ChildTagRemoveListenerData.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/ChildTagRemoveListenerData.java
index e8e82874c..35c701fd5 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/ChildTagRemoveListenerData.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/ChildTagRemoveListenerData.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/DocType.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/DocType.java
index 9f9bd8433..0f35ef05f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/DocType.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/DocType.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/H1.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/H1.java
index b80d05f03..1e1f68017 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/H1.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/H1.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/H2.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/H2.java
index 058fa0a28..d66ec883d 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/H2.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/H2.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/H3.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/H3.java
index 1e38c9f5c..ca88cd96f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/H3.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/H3.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/H4.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/H4.java
index d818d23d1..6d66064b7 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/H4.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/H4.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/H5.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/H5.java
index 9f390634e..ad03710a9 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/H5.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/H5.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/H6.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/H6.java
index 5dbd179d7..e812db800 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/H6.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/H6.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/Hr.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/Hr.java
index 9459d0a30..b64fe2fcf 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/Hr.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/Hr.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/Html.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/Html.java
index 23ac74507..e2b8fc45a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/Html.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/Html.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/InnerHtmlListenerData.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/InnerHtmlListenerData.java
index 3b9750aa8..f5a874155 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/InnerHtmlListenerData.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/InnerHtmlListenerData.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/InsertedTagData.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/InsertedTagData.java
index debaa0227..4976ad018 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/InsertedTagData.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/InsertedTagData.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/InsertedTagDataGCTask.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/InsertedTagDataGCTask.java
index 3c6949326..6f823043a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/InsertedTagDataGCTask.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/InsertedTagDataGCTask.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/ModifiedParentData.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/ModifiedParentData.java
index 82df6f4b2..87f74f8d5 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/ModifiedParentData.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/ModifiedParentData.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/NestedChild.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/NestedChild.java
index 98a85fa2d..588fa4753 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/NestedChild.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/NestedChild.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/P.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/P.java
index 8d03004fa..707da5525 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/P.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/P.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/ParentNoTagData.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/ParentNoTagData.java
index 6757883dd..d05d8f43e 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/ParentNoTagData.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/ParentNoTagData.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/Qfn.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/Qfn.java
index 94c2bc86d..22a4ad1ed 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/Qfn.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/Qfn.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/SharedTagContent.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/SharedTagContent.java
index 126581ed6..10f403bf7 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/SharedTagContent.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/SharedTagContent.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/TagEvent.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/TagEvent.java
index bb19557e8..b16560600 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/TagEvent.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/TagEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/TagNameConstants.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/TagNameConstants.java
index b75bbdbc9..48604147a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/TagNameConstants.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/TagNameConstants.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/TagUtil.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/TagUtil.java
index 28d6ecf3c..a78b097de 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/TagUtil.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/TagUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/TitleTag.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/TitleTag.java
index fee1cb6e9..e65a7ae37 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/TitleTag.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/TitleTag.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/URIStateSwitch.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/URIStateSwitch.java
index 0a2f68357..488e50edf 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/URIStateSwitch.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/URIStateSwitch.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/WhenURIProperties.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/WhenURIProperties.java
index cd0c79c1b..c3b111873 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/WhenURIProperties.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/WhenURIProperties.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Accept.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Accept.java
index 8d4a7bc31..43edc842d 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Accept.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Accept.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/AcceptCharset.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/AcceptCharset.java
index 3d4d9b753..9d9c747da 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/AcceptCharset.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/AcceptCharset.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Action.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Action.java
index 484eaf539..873fb6198 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Action.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Action.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Align.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Align.java
index 6b1eec82c..6180ab311 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Align.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Align.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Alt.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Alt.java
index 64e7889df..e83888c52 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Alt.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Alt.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Async.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Async.java
index 89b1253e6..5d952cee5 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Async.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Async.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/AttributeNameConstants.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/AttributeNameConstants.java
index cefc55eb8..c4f0a7d9b 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/AttributeNameConstants.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/AttributeNameConstants.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Border.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Border.java
index c01234a42..9f364d6b5 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Border.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Border.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/CellPadding.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/CellPadding.java
index 306cbd3b6..8c2c0eff3 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/CellPadding.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/CellPadding.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/CellSpacing.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/CellSpacing.java
index afdcf532e..a78f5f771 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/CellSpacing.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/CellSpacing.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Charset.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Charset.java
index 00dcde33b..52059269f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Charset.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Charset.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Checked.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Checked.java
index 18d20250e..645c0f0cf 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Checked.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Checked.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/CoOrds.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/CoOrds.java
index 2fbe95c82..f079f2a84 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/CoOrds.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/CoOrds.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/ColSpan.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/ColSpan.java
index 5d1be7e30..e7bd6759d 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/ColSpan.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/ColSpan.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/ColorAttribute.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/ColorAttribute.java
index be3e9e605..e61d02262 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/ColorAttribute.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/ColorAttribute.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Cols.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Cols.java
index febc6fe0d..f87ef262c 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Cols.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Cols.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Defer.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Defer.java
index e8c3c53ee..75516a7e8 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Defer.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Defer.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/DirName.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/DirName.java
index d08ca41b1..ff12f4ec7 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/DirName.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/DirName.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Disabled.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Disabled.java
index 810932a9d..96e423a57 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Disabled.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Disabled.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/EncType.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/EncType.java
index 28fce6a20..a7f7e7dfa 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/EncType.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/EncType.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Face.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Face.java
index 2fe5d3007..d12ac59c9 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Face.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Face.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/For.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/For.java
index 8dcd62b3d..33422ff12 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/For.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/For.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Headers.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Headers.java
index 28e4e1854..8edf7a7a0 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Headers.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Headers.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Height.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Height.java
index d36ca0cf3..f18208321 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Height.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Height.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Href.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Href.java
index acc0aea40..80a4653ce 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Href.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Href.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/HrefLang.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/HrefLang.java
index 630405a2a..541c607cf 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/HrefLang.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/HrefLang.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/HttpEquiv.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/HttpEquiv.java
index e2571074e..870836a07 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/HttpEquiv.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/HttpEquiv.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/InternalAttrNameConstants.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/InternalAttrNameConstants.java
index cdff8932d..09a7b12ee 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/InternalAttrNameConstants.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/InternalAttrNameConstants.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/IsMap.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/IsMap.java
index 198ef24e7..e82bef0c8 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/IsMap.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/IsMap.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/MaxLength.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/MaxLength.java
index 076273fe2..0dc5885f3 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/MaxLength.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/MaxLength.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Method.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Method.java
index db8b22c61..04bb072d6 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Method.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Method.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/MinLength.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/MinLength.java
index e1489ef1e..cc50fe705 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/MinLength.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/MinLength.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Name.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Name.java
index 85a71a044..d51f3be08 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Name.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Name.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/NoHref.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/NoHref.java
index b12dc89cb..f029a6cc6 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/NoHref.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/NoHref.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Nonce.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Nonce.java
index 19587129f..24b956a7e 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Nonce.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Nonce.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/ReadOnly.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/ReadOnly.java
index 28c9d4f85..8ce567717 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/ReadOnly.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/ReadOnly.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Rel.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Rel.java
index c41e0ae44..94a7cf90d 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Rel.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Rel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Rev.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Rev.java
index 581c820ff..cc0b714ef 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Rev.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Rev.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Role.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Role.java
index 02b788a3e..dddecfd86 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Role.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Role.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/RowSpan.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/RowSpan.java
index 32ec725ed..e311f1afa 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/RowSpan.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/RowSpan.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Rows.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Rows.java
index 9eb0232bc..cd0c179c8 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Rows.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Rows.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Scope.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Scope.java
index 6d5c6bf6e..62ac7cf51 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Scope.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Scope.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Selected.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Selected.java
index 070ecb0e9..719e70890 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Selected.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Selected.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Shape.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Shape.java
index 5d92fe159..4f69888c9 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Shape.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Shape.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Size.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Size.java
index db9554b79..15df445ce 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Size.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Size.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Sorted.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Sorted.java
index 26dcbad32..0764884e4 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Sorted.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Sorted.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Src.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Src.java
index 60bc2f7fd..763dabc06 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Src.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Src.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Target.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Target.java
index f1c35c3b6..981b1f4e0 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Target.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Target.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Type.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Type.java
index d5fc49d63..591c4d555 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Type.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Type.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/UseMap.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/UseMap.java
index 1a2e2826f..eaf221d67 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/UseMap.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/UseMap.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Value.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Value.java
index e2f3406e5..41250b9ee 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Value.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Value.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Width.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Width.java
index 9d7a819a4..b053844d8 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Width.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/Width.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/core/AbstractAttribute.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/core/AbstractAttribute.java
index cafebfc15..174b5b6e4 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/core/AbstractAttribute.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/core/AbstractAttribute.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/core/AbstractValueSetAttribute.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/core/AbstractValueSetAttribute.java
index 48f69a333..96e10c4e3 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/core/AbstractValueSetAttribute.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/core/AbstractValueSetAttribute.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/core/AttributeIdGenerator.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/core/AttributeIdGenerator.java
index 0b6bafd5f..28b702f2c 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/core/AttributeIdGenerator.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/core/AttributeIdGenerator.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/core/AttributeRegistry.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/core/AttributeRegistry.java
index 540d51e4a..ac6904f6f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/core/AttributeRegistry.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/core/AttributeRegistry.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/core/AttributeUtil.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/core/AttributeUtil.java
index 486454b94..7b32ec131 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/core/AttributeUtil.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/core/AttributeUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/core/IndexedAttributeName.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/core/IndexedAttributeName.java
index 9fbc59d7c..bdd308d12 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/core/IndexedAttributeName.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/core/IndexedAttributeName.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/core/PreIndexedAttributeName.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/core/PreIndexedAttributeName.java
index 1e6d1d67a..f8c7e345a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/core/PreIndexedAttributeName.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/core/PreIndexedAttributeName.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/AbstractEventAttribute.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/AbstractEventAttribute.java
index 23d60c90b..93b1b5fc3 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/AbstractEventAttribute.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/AbstractEventAttribute.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/CustomEventAttribute.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/CustomEventAttribute.java
index 10d3597d5..a594158a9 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/CustomEventAttribute.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/CustomEventAttribute.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/EventAttribute.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/EventAttribute.java
index a5d712ff1..0cc1ec053 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/EventAttribute.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/EventAttribute.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/ServerMethod.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/ServerMethod.java
index 663e1c0db..eafc10ce7 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/ServerMethod.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/ServerMethod.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/animation/AnimationEnd.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/animation/AnimationEnd.java
index 9b60301e0..6c47e2a40 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/animation/AnimationEnd.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/animation/AnimationEnd.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/animation/AnimationIteration.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/animation/AnimationIteration.java
index 976c387cb..fd0401041 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/animation/AnimationIteration.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/animation/AnimationIteration.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/animation/AnimationStart.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/animation/AnimationStart.java
index ffe4f53b4..65b9d8f3c 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/animation/AnimationStart.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/animation/AnimationStart.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/clipboard/OnCopy.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/clipboard/OnCopy.java
index 270d26411..1ca8163e4 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/clipboard/OnCopy.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/clipboard/OnCopy.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/clipboard/OnCut.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/clipboard/OnCut.java
index eaae0386a..b96fbb84b 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/clipboard/OnCut.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/clipboard/OnCut.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/clipboard/OnPaste.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/clipboard/OnPaste.java
index 19b5c4fbe..fff181e3f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/clipboard/OnPaste.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/clipboard/OnPaste.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/drag/OnDrag.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/drag/OnDrag.java
index 98d1d9e19..514aa3118 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/drag/OnDrag.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/drag/OnDrag.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/drag/OnDragEnd.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/drag/OnDragEnd.java
index 188979348..1b3756d7d 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/drag/OnDragEnd.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/drag/OnDragEnd.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/drag/OnDragEnter.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/drag/OnDragEnter.java
index 26866ff28..679aa90c4 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/drag/OnDragEnter.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/drag/OnDragEnter.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/drag/OnDragLeave.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/drag/OnDragLeave.java
index 8fb090647..59cef45ab 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/drag/OnDragLeave.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/drag/OnDragLeave.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/drag/OnDragOver.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/drag/OnDragOver.java
index 3df750280..0851e070d 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/drag/OnDragOver.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/drag/OnDragOver.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/drag/OnDragStart.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/drag/OnDragStart.java
index d60d35921..cf4b1cc15 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/drag/OnDragStart.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/drag/OnDragStart.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/drag/OnDrop.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/drag/OnDrop.java
index ecfc246ed..74458f5d8 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/drag/OnDrop.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/drag/OnDrop.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnBlur.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnBlur.java
index 961eb357b..5e201f245 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnBlur.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnBlur.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnChange.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnChange.java
index 5622745ba..055723cd0 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnChange.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnChange.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnFocus.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnFocus.java
index 080c08b6a..da931af9d 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnFocus.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnFocus.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnFocusIn.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnFocusIn.java
index af7d6f5c3..b35f58897 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnFocusIn.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnFocusIn.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnFocusOut.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnFocusOut.java
index a4fb2d627..14014476b 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnFocusOut.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnFocusOut.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnInput.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnInput.java
index f5127598a..aaf1914aa 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnInput.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnInput.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnInvalid.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnInvalid.java
index 3820c73cf..fdfc0efcf 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnInvalid.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnInvalid.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnReset.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnReset.java
index ecb31007f..f9fb7605d 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnReset.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnReset.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnSearch.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnSearch.java
index 0eaf5c5cf..78ce32867 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnSearch.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnSearch.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnSelect.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnSelect.java
index 24aa9ed8e..a77e3f66a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnSelect.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnSelect.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnSubmit.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnSubmit.java
index 80c2c9cae..f600a6dab 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnSubmit.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/form/OnSubmit.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnAbort.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnAbort.java
index f56a40b20..a3693d72f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnAbort.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnAbort.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnBeforeUnload.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnBeforeUnload.java
index 87dc6c3f7..6daa94f6a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnBeforeUnload.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnBeforeUnload.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnError.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnError.java
index 08a2ff143..4d130d781 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnError.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnError.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnHashChange.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnHashChange.java
index e9bd22af0..edb3d0bd9 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnHashChange.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnHashChange.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnLoad.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnLoad.java
index d3eec914d..cb4c09a2b 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnLoad.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnLoad.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnPageHide.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnPageHide.java
index 1cadb9e2b..53364b955 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnPageHide.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnPageHide.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnPageShow.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnPageShow.java
index 825f0236c..092adf32b 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnPageShow.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnPageShow.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnResize.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnResize.java
index 1a5ddb9c0..7438619ea 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnResize.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnResize.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnScroll.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnScroll.java
index 5c4cb3364..009a7c6bc 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnScroll.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnScroll.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnUnload.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnUnload.java
index fd2c01790..7e480f250 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnUnload.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/frame/or/object/OnUnload.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/keyboard/OnKeyDown.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/keyboard/OnKeyDown.java
index 16dac4988..a87923959 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/keyboard/OnKeyDown.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/keyboard/OnKeyDown.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/keyboard/OnKeyPress.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/keyboard/OnKeyPress.java
index fea8abc4d..4c0b067e0 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/keyboard/OnKeyPress.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/keyboard/OnKeyPress.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/keyboard/OnKeyUp.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/keyboard/OnKeyUp.java
index bdbfdb788..97146635c 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/keyboard/OnKeyUp.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/keyboard/OnKeyUp.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnCanPlay.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnCanPlay.java
index 0b25e245b..5810e8df3 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnCanPlay.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnCanPlay.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnCanPlayThrough.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnCanPlayThrough.java
index 0be822231..3c9ca7f1e 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnCanPlayThrough.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnCanPlayThrough.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnDurationChange.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnDurationChange.java
index a4e6302b8..f413d3ea7 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnDurationChange.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnDurationChange.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnEmptied.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnEmptied.java
index b0c8eaa4e..d883353c5 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnEmptied.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnEmptied.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnEnded.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnEnded.java
index 0e3f61dcb..f7539cb79 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnEnded.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnEnded.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnLoadStart.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnLoadStart.java
index 309fe031d..18803c5ed 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnLoadStart.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnLoadStart.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnLoadedData.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnLoadedData.java
index 34b002177..f8642de7d 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnLoadedData.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnLoadedData.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnLoadedMetaData.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnLoadedMetaData.java
index 5e2e3f556..b815e55b5 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnLoadedMetaData.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnLoadedMetaData.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnPause.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnPause.java
index 21a16f459..3e75d11b8 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnPause.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnPause.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnPlay.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnPlay.java
index b55fb2505..13446c3ce 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnPlay.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnPlay.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnPlaying.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnPlaying.java
index aa42e3003..c6c3b28ab 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnPlaying.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnPlaying.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnProgress.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnProgress.java
index 433cbbe50..de7e2a0ab 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnProgress.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnProgress.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnRateChange.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnRateChange.java
index 5647e1a22..fbec3b08b 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnRateChange.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnRateChange.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnSeeked.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnSeeked.java
index c6bb8466a..51549d950 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnSeeked.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnSeeked.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnSeeking.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnSeeking.java
index ecfb651ef..7e264bfe8 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnSeeking.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnSeeking.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnStalled.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnStalled.java
index d6a80f57e..5e9b2f056 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnStalled.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnStalled.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnSuspend.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnSuspend.java
index 96cef4516..639e51a37 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnSuspend.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnSuspend.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnTimeUpdate.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnTimeUpdate.java
index 666215a3a..e3270d446 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnTimeUpdate.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnTimeUpdate.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnVolumeChange.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnVolumeChange.java
index 78d4deddd..ffe1e240a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnVolumeChange.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnVolumeChange.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnWaiting.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnWaiting.java
index c4e3cd446..96727d1e0 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnWaiting.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/media/OnWaiting.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/misc/OnOffline.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/misc/OnOffline.java
index e8fc617f3..59d42eb12 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/misc/OnOffline.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/misc/OnOffline.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/misc/OnOnline.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/misc/OnOnline.java
index f34a5760e..aff462f75 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/misc/OnOnline.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/misc/OnOnline.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/misc/OnPopState.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/misc/OnPopState.java
index 0ceb71782..b37c885d3 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/misc/OnPopState.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/misc/OnPopState.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/misc/OnShow.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/misc/OnShow.java
index 9b49e4823..85040718f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/misc/OnShow.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/misc/OnShow.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/misc/OnStorage.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/misc/OnStorage.java
index b752db3b6..56f84420b 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/misc/OnStorage.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/misc/OnStorage.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/misc/OnToggle.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/misc/OnToggle.java
index 5f418ddc4..adb6cb4df 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/misc/OnToggle.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/misc/OnToggle.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/misc/OnWheel.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/misc/OnWheel.java
index 380968cdf..2fc1223a0 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/misc/OnWheel.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/misc/OnWheel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnClick.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnClick.java
index 907cfd151..cd27e0c86 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnClick.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnClick.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnContextMenu.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnContextMenu.java
index d572f95a3..9093aa336 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnContextMenu.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnContextMenu.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnDblClick.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnDblClick.java
index 1a5aa35c2..f6d65eec9 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnDblClick.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnDblClick.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnMouseDown.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnMouseDown.java
index 4f4de2f69..85e14e373 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnMouseDown.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnMouseDown.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnMouseEnter.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnMouseEnter.java
index 724e1574b..6dd5ed3fc 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnMouseEnter.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnMouseEnter.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnMouseLeave.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnMouseLeave.java
index 0f35fd07f..ea186a6ef 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnMouseLeave.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnMouseLeave.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnMouseMove.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnMouseMove.java
index 29fdb367d..9e84d3b9f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnMouseMove.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnMouseMove.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnMouseOut.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnMouseOut.java
index c0716e5f6..828e76a92 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnMouseOut.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnMouseOut.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnMouseOver.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnMouseOver.java
index d750ae6ab..21e5af612 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnMouseOver.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnMouseOver.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnMouseUp.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnMouseUp.java
index abae99179..5e5d0767c 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnMouseUp.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/mouse/OnMouseUp.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/print/OnAfterPrint.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/print/OnAfterPrint.java
index 1d3f61fb6..ac1f6ec15 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/print/OnAfterPrint.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/print/OnAfterPrint.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/print/OnBeforePrint.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/print/OnBeforePrint.java
index a1bbdd0fb..62531bc0c 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/print/OnBeforePrint.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/print/OnBeforePrint.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/touch/OnTouchCancel.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/touch/OnTouchCancel.java
index c41aa1b08..481692a98 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/touch/OnTouchCancel.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/touch/OnTouchCancel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/touch/OnTouchEnd.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/touch/OnTouchEnd.java
index 2a2b1d510..c89ea7682 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/touch/OnTouchEnd.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/touch/OnTouchEnd.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/touch/OnTouchMove.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/touch/OnTouchMove.java
index d738093d7..82197b42a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/touch/OnTouchMove.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/touch/OnTouchMove.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/touch/OnTouchStart.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/touch/OnTouchStart.java
index 6da93241c..6f6ed6055 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/touch/OnTouchStart.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/touch/OnTouchStart.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/transition/TransitionEnd.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/transition/TransitionEnd.java
index 605a1a2d8..256f61e93 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/transition/TransitionEnd.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/event/transition/TransitionEnd.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/AccessKey.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/AccessKey.java
index 2c4305871..88eb43593 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/AccessKey.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/AccessKey.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/ClassAttribute.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/ClassAttribute.java
index f6f79f0c7..2ea99282d 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/ClassAttribute.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/ClassAttribute.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/Dir.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/Dir.java
index c57ef6a66..2b814c015 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/Dir.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/Dir.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/Id.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/Id.java
index bcb282970..1d4de4fe4 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/Id.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/Id.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/Lang.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/Lang.java
index 96f81e493..40106ca18 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/Lang.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/Lang.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/Style.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/Style.java
index 09d14b40f..fe82925ac 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/Style.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/Style.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/TabIndex.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/TabIndex.java
index 5855b6259..a9ee87660 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/TabIndex.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/TabIndex.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/Title.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/Title.java
index 2f1b168f1..4b1aad79f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/Title.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/Title.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/package-info.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/package-info.java
index f4712a2f7..87f2f4579 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/package-info.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/global/package-info.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed 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
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/listener/AttributeValueChangeListener.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/listener/AttributeValueChangeListener.java
index f9f1b6aa8..30ad9785d 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/listener/AttributeValueChangeListener.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/listener/AttributeValueChangeListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attributewff/CustomAttribute.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attributewff/CustomAttribute.java
index 83c8bb32d..fda2ae24c 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attributewff/CustomAttribute.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attributewff/CustomAttribute.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attributewff/ImmutableCustomAttribute.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attributewff/ImmutableCustomAttribute.java
index f5c8e8171..1d8262a1a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attributewff/ImmutableCustomAttribute.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attributewff/ImmutableCustomAttribute.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/core/IndexedTagName.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/core/IndexedTagName.java
index f70bcd8cb..047d2b8e7 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/core/IndexedTagName.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/core/IndexedTagName.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/core/PreIndexedTagName.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/core/PreIndexedTagName.java
index b8be67741..cd2902354 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/core/PreIndexedTagName.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/core/PreIndexedTagName.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/core/TagRegistry.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/core/TagRegistry.java
index 5895d8f5e..833c18203 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/core/TagRegistry.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/core/TagRegistry.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Abbr.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Abbr.java
index a47e145f2..f346924f6 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Abbr.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Abbr.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Address.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Address.java
index facc99b2f..abc27ffd1 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Address.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Address.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/B.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/B.java
index bede8d6a8..16ad79eef 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/B.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/B.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Bdo.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Bdo.java
index 9b97e31a8..a00123fdb 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Bdo.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Bdo.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/BlockQuote.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/BlockQuote.java
index ef6a4a22d..fa65a0eae 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/BlockQuote.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/BlockQuote.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Cite.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Cite.java
index 4f1307235..b8a8ee0dc 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Cite.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Cite.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Code.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Code.java
index 2728ac95f..631c63762 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Code.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Code.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Del.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Del.java
index 361356c95..bace0130b 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Del.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Del.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Dfn.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Dfn.java
index 664da8d6f..84d5bad0c 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Dfn.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Dfn.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Em.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Em.java
index 2a2464038..f85fa1797 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Em.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Em.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/I.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/I.java
index a43efff1c..5e2fb06aa 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/I.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/I.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Ins.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Ins.java
index 2d62daeb8..79877c962 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Ins.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Ins.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Kbd.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Kbd.java
index 6169e431e..cbce32d3a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Kbd.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Kbd.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Pre.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Pre.java
index c26460489..dced2f846 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Pre.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Pre.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Q.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Q.java
index 3107a91fa..bcaba825e 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Q.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Q.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/S.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/S.java
index 907b05d38..2443b13de 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/S.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/S.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Samp.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Samp.java
index a70c0bdc6..fd793c9d5 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Samp.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Samp.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Small.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Small.java
index c0843df52..605590991 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Small.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Small.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Strong.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Strong.java
index 177f28ecc..8512db0f5 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Strong.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Strong.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Sub.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Sub.java
index 0e5f14de1..fc876a369 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Sub.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Sub.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Sup.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Sup.java
index fca2c1128..ca92a3cc9 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Sup.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Sup.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/U.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/U.java
index 0c2ddeb11..42712d6c2 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/U.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/U.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Var.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Var.java
index a7eedf692..65f0bd247 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Var.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formatting/Var.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/Button.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/Button.java
index 139424389..c285f31bc 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/Button.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/Button.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/FieldSet.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/FieldSet.java
index e6d2f562d..4e695214f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/FieldSet.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/FieldSet.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/Form.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/Form.java
index 2d71ed0f3..dcb7b833d 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/Form.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/Form.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/Input.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/Input.java
index 78f1ce99c..a9dc4dca5 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/Input.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/Input.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/Label.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/Label.java
index 5b5c53dba..82d645db8 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/Label.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/Label.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/Legend.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/Legend.java
index 1c76516fd..c473c7dff 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/Legend.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/Legend.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/OptGroup.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/OptGroup.java
index 6d42c7aa4..57c2e1465 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/OptGroup.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/OptGroup.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/Option.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/Option.java
index 39146a06c..37ea5199c 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/Option.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/Option.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/Select.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/Select.java
index b1064478e..4acf23613 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/Select.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/Select.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/TextArea.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/TextArea.java
index d8d8b5d7f..453927659 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/TextArea.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/formsandinputs/TextArea.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/frames/IFrame.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/frames/IFrame.java
index be4dba57b..662d5d075 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/frames/IFrame.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/frames/IFrame.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Circle.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Circle.java
index 2d4b459d6..5c3d706d6 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Circle.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Circle.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Data.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Data.java
index 47fe4fd87..3de694d24 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Data.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Data.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Ellipse.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Ellipse.java
index 235ff9526..5a0894dd7 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Ellipse.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Ellipse.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/HGroup.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/HGroup.java
index 9942d99b9..5f0b11d3c 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/HGroup.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/HGroup.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Line.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Line.java
index 6540e9521..2ad99fadf 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Line.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Line.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/MathTag.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/MathTag.java
index 2555b70e7..4ad9fe4ad 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/MathTag.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/MathTag.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Path.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Path.java
index b7c2d2be5..0e6f793aa 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Path.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Path.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Polygon.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Polygon.java
index afc0986c6..0859118b0 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Polygon.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Polygon.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Polyline.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Polyline.java
index 850d086fd..d3074b306 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Polyline.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Polyline.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Rect.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Rect.java
index 48f01e48a..8e5ec4b4f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Rect.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Rect.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Source.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Source.java
index 463db2ff5..09f9cb3eb 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Source.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Source.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Svg.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Svg.java
index d81f107a6..b8c3dc214 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Svg.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Svg.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Template.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Template.java
index 58cbf2208..2577a0cab 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Template.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Template.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Text.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Text.java
index 8377a0d3c..618254f43 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Text.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Text.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Track.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Track.java
index 8857ef9ca..255371d0f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Track.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Track.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Video.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Video.java
index 68b466851..add217eaa 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Video.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/Video.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/AutoComplete.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/AutoComplete.java
index f5eaccc08..c4ca1a757 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/AutoComplete.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/AutoComplete.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/AutoFocus.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/AutoFocus.java
index 3a0ce3ecf..d758faccd 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/AutoFocus.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/AutoFocus.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/AutoPlay.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/AutoPlay.java
index 26bda62f8..1a82fc3cb 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/AutoPlay.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/AutoPlay.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Content.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Content.java
index d90e00a84..7468966e5 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Content.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Content.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Controls.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Controls.java
index 0b3498974..5f0c7601a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Controls.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Controls.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/DateTime.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/DateTime.java
index e58339369..37ff4b5e4 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/DateTime.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/DateTime.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Default.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Default.java
index 3e139e67a..c964f5d75 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Default.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Default.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Download.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Download.java
index dc60d2c84..cb4aa7b22 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Download.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Download.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/FormAction.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/FormAction.java
index 47e1c1266..631e9d14f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/FormAction.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/FormAction.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/FormAttribute.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/FormAttribute.java
index 0514b1112..c1b91b395 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/FormAttribute.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/FormAttribute.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/FormEncType.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/FormEncType.java
index 73ce5d5d1..a58d283c4 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/FormEncType.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/FormEncType.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/FormMethod.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/FormMethod.java
index 2d5f2208f..959854108 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/FormMethod.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/FormMethod.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/FormNoValidate.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/FormNoValidate.java
index ed6de5018..3c5873d03 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/FormNoValidate.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/FormNoValidate.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/FormTarget.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/FormTarget.java
index 59111a3a2..a26626448 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/FormTarget.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/FormTarget.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/High.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/High.java
index 4ddcad9a9..2cb1ad58c 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/High.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/High.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/List.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/List.java
index 5b5d9e8fd..b74361df5 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/List.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/List.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Loop.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Loop.java
index 9ded8bfbd..6367b94cb 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Loop.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Loop.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Low.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Low.java
index 690468d5d..343fe691f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Low.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Low.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Max.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Max.java
index 93430a76a..f36a5dc01 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Max.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Max.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Media.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Media.java
index 5f7d10505..253dc13f7 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Media.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Media.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Min.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Min.java
index 7e9eac37f..248a15f58 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Min.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Min.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Multiple.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Multiple.java
index e77242578..2f523df03 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Multiple.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Multiple.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Muted.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Muted.java
index 9951729ae..f5fcb1346 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Muted.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Muted.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Open.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Open.java
index 2585f0821..686d90d1f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Open.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Open.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Optimum.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Optimum.java
index 769a109a6..7d313662e 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Optimum.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Optimum.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Pattern.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Pattern.java
index bb721ea44..ae2489656 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Pattern.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Pattern.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Placeholder.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Placeholder.java
index d04db374f..5ed31d00c 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Placeholder.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Placeholder.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Poster.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Poster.java
index d5c517f6a..301b4d247 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Poster.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Poster.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Preload.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Preload.java
index d682ecf0a..2ae1a7469 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Preload.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Preload.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Required.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Required.java
index a6b11249b..77d69476b 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Required.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Required.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Reversed.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Reversed.java
index 8b868e461..5d746f8c5 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Reversed.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Reversed.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Sandbox.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Sandbox.java
index 017c3bbac..246af6fd5 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Sandbox.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Sandbox.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Sizes.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Sizes.java
index cba30c432..0e3cc13b1 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Sizes.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Sizes.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/SrcSet.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/SrcSet.java
index d9d8ef34b..01edf55bb 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/SrcSet.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/SrcSet.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Step.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Step.java
index 9b21dd799..34a43c292 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Step.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Step.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Wrap.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Wrap.java
index 3ecec09f0..1ed156ae8 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Wrap.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/Wrap.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/ContentEditable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/ContentEditable.java
index 47d11c7bf..43506af6b 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/ContentEditable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/ContentEditable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/ContextMenu.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/ContextMenu.java
index 70671ecf9..1dfd519c1 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/ContextMenu.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/ContextMenu.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/DataAttribute.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/DataAttribute.java
index ff4672a72..09ffff232 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/DataAttribute.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/DataAttribute.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/DataWffId.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/DataWffId.java
index 611b9c240..d55c4e2f0 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/DataWffId.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/DataWffId.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/Draggable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/Draggable.java
index d0987c709..12e712650 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/Draggable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/Draggable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/Dropzone.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/Dropzone.java
index 09b81e766..d71fd2cbb 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/Dropzone.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/Dropzone.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/Hidden.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/Hidden.java
index 57ba1af32..323c3c091 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/Hidden.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/Hidden.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/SpellCheck.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/SpellCheck.java
index 8484f6c89..dfdd1b4ba 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/SpellCheck.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/SpellCheck.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/Translate.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/Translate.java
index ebe06b9ea..12dd2de6f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/Translate.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/attribute/global/Translate.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/audiovideo/Audio.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/audiovideo/Audio.java
index 71edf284c..27c9a49fb 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/audiovideo/Audio.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/audiovideo/Audio.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Bdi.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Bdi.java
index 3901b3daa..29ca7bdf5 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Bdi.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Bdi.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Mark.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Mark.java
index 5bb6cc1d2..55c35dfb9 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Mark.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Mark.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Meter.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Meter.java
index b69de8a9c..755656d90 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Meter.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Meter.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Progress.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Progress.java
index e9083c339..ba87fb1b7 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Progress.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Progress.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Rp.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Rp.java
index 04ec09c51..b28172f33 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Rp.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Rp.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Rt.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Rt.java
index 76c89fc6d..e02019c82 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Rt.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Rt.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Ruby.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Ruby.java
index 30c032f3a..4d79fdce0 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Ruby.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Ruby.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Time.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Time.java
index 594c0c293..1710b63f8 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Time.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Time.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Wbr.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Wbr.java
index efa862b24..8e0a0bfc2 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Wbr.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formatting/Wbr.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formsandinputs/DataList.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formsandinputs/DataList.java
index 29b66df2e..5a5145b9c 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formsandinputs/DataList.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formsandinputs/DataList.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formsandinputs/KeyGen.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formsandinputs/KeyGen.java
index 8d12e6f7f..ed4435324 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formsandinputs/KeyGen.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formsandinputs/KeyGen.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formsandinputs/Output.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formsandinputs/Output.java
index c146d9a59..2040f2312 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formsandinputs/Output.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/formsandinputs/Output.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/AddressAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/AddressAttributable.java
index a1f55a7dc..e0190e9b2 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/AddressAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/AddressAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/ArticleAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/ArticleAttributable.java
index 52c5092cf..8dbe34493 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/ArticleAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/ArticleAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/AsideAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/AsideAttributable.java
index b2db535a2..5ea766948 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/AsideAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/AsideAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/AudioAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/AudioAttributable.java
index a1353e9db..2333e1732 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/AudioAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/AudioAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/BdiAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/BdiAttributable.java
index 1335abcad..dadb69adb 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/BdiAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/BdiAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/CanvasAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/CanvasAttributable.java
index 7cc64bd86..3d0204d67 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/CanvasAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/CanvasAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/CircleAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/CircleAttributable.java
index 8e3173a05..9d4848fff 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/CircleAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/CircleAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/DataAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/DataAttributable.java
index 874ebdec5..cb2ff1c80 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/DataAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/DataAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/DataListAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/DataListAttributable.java
index 5f2b35256..e91275369 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/DataListAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/DataListAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/DetailsAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/DetailsAttributable.java
index e8f4a36be..2294e1497 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/DetailsAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/DetailsAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/DialogAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/DialogAttributable.java
index 52b0463f1..e816fe96e 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/DialogAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/DialogAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/EllipseAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/EllipseAttributable.java
index 77751be18..00394e549 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/EllipseAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/EllipseAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/EmbedAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/EmbedAttributable.java
index 5d8eeade4..204335e21 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/EmbedAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/EmbedAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/FigCaptionAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/FigCaptionAttributable.java
index 6a8a8901a..7bb70e204 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/FigCaptionAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/FigCaptionAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/FigureAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/FigureAttributable.java
index e5b489898..325936a4e 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/FigureAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/FigureAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/FooterAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/FooterAttributable.java
index 680d3d22f..6dd784719 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/FooterAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/FooterAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/HGroupAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/HGroupAttributable.java
index e7aabeb07..0ca2d7955 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/HGroupAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/HGroupAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/HeaderAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/HeaderAttributable.java
index 378681492..3c2e51458 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/HeaderAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/HeaderAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/KeyGenAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/KeyGenAttributable.java
index c33844ffa..7a5e02930 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/KeyGenAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/KeyGenAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/LineAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/LineAttributable.java
index 8cf04c622..cf1f6d072 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/LineAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/LineAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/MainAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/MainAttributable.java
index ebe6807a0..215a72a2a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/MainAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/MainAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/MarkAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/MarkAttributable.java
index 8bc8cca2a..63ff658b0 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/MarkAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/MarkAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/MathTagAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/MathTagAttributable.java
index 333aa852f..d12e4f899 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/MathTagAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/MathTagAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/MenuAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/MenuAttributable.java
index ef52bf239..ab971b6dd 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/MenuAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/MenuAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/MenuItemAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/MenuItemAttributable.java
index e5d4399df..47fc1734a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/MenuItemAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/MenuItemAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/MeterAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/MeterAttributable.java
index 6ce635050..d57f44fb2 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/MeterAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/MeterAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/NavAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/NavAttributable.java
index 1e45c8243..7bd7f72c8 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/NavAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/NavAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/OutputAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/OutputAttributable.java
index 18cb90855..a8be7ac97 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/OutputAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/OutputAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/PathAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/PathAttributable.java
index fa74730ee..4cfde1b69 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/PathAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/PathAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/PictureAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/PictureAttributable.java
index a7c99232b..c01aa0ef3 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/PictureAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/PictureAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/PolygonAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/PolygonAttributable.java
index 5193bb9ea..f65eccdd8 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/PolygonAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/PolygonAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/PolylineAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/PolylineAttributable.java
index bd2b9da9d..e37bd1ada 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/PolylineAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/PolylineAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/ProgressAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/ProgressAttributable.java
index f3d3f2e45..b9d8c6e6b 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/ProgressAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/ProgressAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/RectAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/RectAttributable.java
index d45dbc981..d0b80774f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/RectAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/RectAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/RpAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/RpAttributable.java
index 133b63724..01859a8a7 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/RpAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/RpAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/RtAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/RtAttributable.java
index 429dc1745..22077c82f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/RtAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/RtAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/RubyAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/RubyAttributable.java
index d9271ca40..6f6741f52 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/RubyAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/RubyAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/SectionAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/SectionAttributable.java
index b9a0427e8..71198b42f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/SectionAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/SectionAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/SourceAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/SourceAttributable.java
index 592c7a45d..d3f5a5ab9 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/SourceAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/SourceAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/SummaryAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/SummaryAttributable.java
index 1a4fa264e..b65a236e5 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/SummaryAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/SummaryAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/SvgAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/SvgAttributable.java
index 0b7d51489..0689e6c27 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/SvgAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/SvgAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/TextAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/TextAttributable.java
index df9362c95..0308e141f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/TextAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/TextAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/TimeAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/TimeAttributable.java
index 364c57651..aa394a193 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/TimeAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/TimeAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/TrackAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/TrackAttributable.java
index a1ee9b1cf..fd0d18ad7 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/TrackAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/TrackAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/VideoAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/VideoAttributable.java
index ee327c071..540712d8c 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/VideoAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/VideoAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/WbrAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/WbrAttributable.java
index 9caae2a46..7a58ba925 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/WbrAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/WbrAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/package-info.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/package-info.java
index 574dfa20e..4f5985dd6 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/package-info.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/identifier/package-info.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed 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
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/images/Canvas.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/images/Canvas.java
index 2858389bd..7810a9ba1 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/images/Canvas.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/images/Canvas.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/images/FigCaption.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/images/FigCaption.java
index 96829476f..5887977c4 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/images/FigCaption.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/images/FigCaption.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/images/Figure.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/images/Figure.java
index 599d7ce31..a3464f990 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/images/Figure.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/images/Figure.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/images/Picture.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/images/Picture.java
index 8a0651462..9722bd993 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/images/Picture.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/images/Picture.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/links/Nav.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/links/Nav.java
index 181e14c6b..64d43f31e 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/links/Nav.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/links/Nav.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/lists/Menu.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/lists/Menu.java
index a09384c31..2e4b99a00 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/lists/Menu.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/lists/Menu.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/lists/MenuItem.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/lists/MenuItem.java
index 04f1166e5..e4fdd9750 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/lists/MenuItem.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/lists/MenuItem.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/package-info.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/package-info.java
index 83c886c93..5de759797 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/package-info.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/package-info.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed 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
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/programming/Embed.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/programming/Embed.java
index 4f2801344..1d79e3d42 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/programming/Embed.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/programming/Embed.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Article.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Article.java
index 0f97a7dfd..c0433b828 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Article.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Article.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Aside.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Aside.java
index 3f4c93647..2d74876ce 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Aside.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Aside.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Details.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Details.java
index 8205b5422..69bfb68e4 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Details.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Details.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Dialog.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Dialog.java
index fdd3e389f..9d88e715f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Dialog.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Dialog.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Footer.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Footer.java
index 3db4f9e4a..1e6aedc24 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Footer.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Footer.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Header.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Header.java
index 2498fd3fd..bdb8c5940 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Header.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Header.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Main.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Main.java
index 753f619b7..8cbdb8e22 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Main.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Main.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Section.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Section.java
index 29804f545..318c1ba60 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Section.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Section.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Summary.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Summary.java
index acf319003..e423f0c25 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Summary.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/html5/stylesandsemantics/Summary.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/AAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/AAttributable.java
index ac4b20735..942dc10d1 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/AAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/AAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/AbbrAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/AbbrAttributable.java
index 0077f262e..7119471f3 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/AbbrAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/AbbrAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/AreaAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/AreaAttributable.java
index 14bba7ce3..55e9481ab 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/AreaAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/AreaAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/BAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/BAttributable.java
index cfd120144..c63227082 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/BAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/BAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/BaseAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/BaseAttributable.java
index 9e6a9bd05..a314e63bc 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/BaseAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/BaseAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/BaseFontAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/BaseFontAttributable.java
index 1babcc8c6..6b76f6cf2 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/BaseFontAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/BaseFontAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/BdoAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/BdoAttributable.java
index d290ae576..83f081e87 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/BdoAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/BdoAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/BlockQuoteAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/BlockQuoteAttributable.java
index b30356efb..5237e6cdf 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/BlockQuoteAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/BlockQuoteAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/BodyAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/BodyAttributable.java
index 3ece77168..c7185dc58 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/BodyAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/BodyAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/BooleanAttribute.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/BooleanAttribute.java
index 44ff48202..203055c49 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/BooleanAttribute.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/BooleanAttribute.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/BrAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/BrAttributable.java
index e362258e4..7cb3eaf27 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/BrAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/BrAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/ButtonAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/ButtonAttributable.java
index 8fa7afb5e..252d4b1ec 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/ButtonAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/ButtonAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/CaptionAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/CaptionAttributable.java
index 1c9f248f4..6b68b3af0 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/CaptionAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/CaptionAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/CiteAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/CiteAttributable.java
index 5e3a7b07f..11d231a1a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/CiteAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/CiteAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/CodeAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/CodeAttributable.java
index f0b7b1ae8..f358ffcd0 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/CodeAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/CodeAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/ColAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/ColAttributable.java
index 59cdc27d1..0f3f3c48c 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/ColAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/ColAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/ColGroupAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/ColGroupAttributable.java
index cd28fe7d1..76231c783 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/ColGroupAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/ColGroupAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/DdAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/DdAttributable.java
index 335b0ac2d..cdc98e453 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/DdAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/DdAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/DelAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/DelAttributable.java
index 421b7a9d7..ea5cec7f7 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/DelAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/DelAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/DfnAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/DfnAttributable.java
index a19afe238..d6788960f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/DfnAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/DfnAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/DivAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/DivAttributable.java
index 1a50337b9..04ed2b721 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/DivAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/DivAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/DlAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/DlAttributable.java
index faf77aa88..185a30b28 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/DlAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/DlAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/DocAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/DocAttributable.java
index b92e70d05..3dc148d1d 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/DocAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/DocAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/DtAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/DtAttributable.java
index da305c26d..a0bc7763b 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/DtAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/DtAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/EmAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/EmAttributable.java
index 5141f34a2..18b97e2f8 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/EmAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/EmAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/FieldAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/FieldAttributable.java
index 005db2e2c..d0648ef6e 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/FieldAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/FieldAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/FormAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/FormAttributable.java
index 095858fd6..164c36a45 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/FormAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/FormAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/GlobalAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/GlobalAttributable.java
index c7ccd1950..bc8987f3a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/GlobalAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/GlobalAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/H1Attributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/H1Attributable.java
index e7f19870b..1c61f6a27 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/H1Attributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/H1Attributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/H2Attributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/H2Attributable.java
index ef67d0874..b76af7258 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/H2Attributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/H2Attributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/H3Attributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/H3Attributable.java
index 484f083e5..3070ad2ab 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/H3Attributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/H3Attributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/H4Attributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/H4Attributable.java
index 1924f781e..3e9a4e745 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/H4Attributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/H4Attributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/H5Attributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/H5Attributable.java
index acadb21a8..24bc12d83 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/H5Attributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/H5Attributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/H6Attributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/H6Attributable.java
index 1c314be41..833758a29 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/H6Attributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/H6Attributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/HeadAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/HeadAttributable.java
index e80456b37..480cfa94e 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/HeadAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/HeadAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/HrAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/HrAttributable.java
index c447ac755..335e7c6c0 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/HrAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/HrAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/HtmlAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/HtmlAttributable.java
index f1e192b74..61585700f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/HtmlAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/HtmlAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/IAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/IAttributable.java
index d69274d5b..c4487ef67 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/IAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/IAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/IFrameAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/IFrameAttributable.java
index 95a86a0ea..ff961c505 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/IFrameAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/IFrameAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/ImgAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/ImgAttributable.java
index a92042c58..c69b7aaf4 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/ImgAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/ImgAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/InputAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/InputAttributable.java
index d26aa7c17..cee232d95 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/InputAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/InputAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/InsAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/InsAttributable.java
index 46b7926ab..ec845dc1b 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/InsAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/InsAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/KbdAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/KbdAttributable.java
index d0633ec7d..c69e63e72 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/KbdAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/KbdAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/LabelAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/LabelAttributable.java
index 5ed0760f4..e3aef918a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/LabelAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/LabelAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/LegendAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/LegendAttributable.java
index f2f4af452..1cfae7759 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/LegendAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/LegendAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/LiAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/LiAttributable.java
index 9d5ef9310..86c6a7647 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/LiAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/LiAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/LinkAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/LinkAttributable.java
index b1ba75c33..58924826a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/LinkAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/LinkAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/MapTagAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/MapTagAttributable.java
index 54612cabd..a901146ed 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/MapTagAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/MapTagAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/MetaAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/MetaAttributable.java
index 0d28863a4..fa890349a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/MetaAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/MetaAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/NoScriptAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/NoScriptAttributable.java
index fcfd4c1c7..5a146388a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/NoScriptAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/NoScriptAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/ObjectTagAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/ObjectTagAttributable.java
index 788406b7d..d388c80bf 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/ObjectTagAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/ObjectTagAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/OlAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/OlAttributable.java
index 72c9bf547..d385587d0 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/OlAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/OlAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/OptGroupAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/OptGroupAttributable.java
index 8db3fc5f6..873f3fc5c 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/OptGroupAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/OptGroupAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/OptionAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/OptionAttributable.java
index 343bf3ce4..4a9c8fb57 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/OptionAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/OptionAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/PAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/PAttributable.java
index 5c15ee732..ea7dbc8b2 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/PAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/PAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/ParamAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/ParamAttributable.java
index 1fa39150b..10103c3b7 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/ParamAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/ParamAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/PreAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/PreAttributable.java
index d6ef771bf..a35693e91 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/PreAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/PreAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/QAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/QAttributable.java
index 3d75c0fff..7977308fb 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/QAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/QAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/QfnAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/QfnAttributable.java
index 4458794ff..979ae5618 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/QfnAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/QfnAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/SAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/SAttributable.java
index 849f71c62..afaacad48 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/SAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/SAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/SampAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/SampAttributable.java
index e8218fd71..35b38fc11 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/SampAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/SampAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/ScriptAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/ScriptAttributable.java
index 4f24e406e..2cb0ff8ad 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/ScriptAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/ScriptAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/SelectAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/SelectAttributable.java
index 9b3321d2f..219bca990 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/SelectAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/SelectAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/SmallAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/SmallAttributable.java
index 4f8b671b3..4578b806d 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/SmallAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/SmallAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/SpanAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/SpanAttributable.java
index e7acb86a0..58e98af18 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/SpanAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/SpanAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/StrongAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/StrongAttributable.java
index 8e6f2f669..d1a2fbdba 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/StrongAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/StrongAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/StyleAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/StyleAttributable.java
index 12be51d4b..f7d93578c 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/StyleAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/StyleAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/SubAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/SubAttributable.java
index 4e43bd924..d3fd71b04 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/SubAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/SubAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/SupAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/SupAttributable.java
index 54e1c3c2d..15b84e00b 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/SupAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/SupAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/TBodyAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/TBodyAttributable.java
index 077d7745e..b7b01bb36 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/TBodyAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/TBodyAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/TFootAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/TFootAttributable.java
index 412dd4893..0b28a9a7b 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/TFootAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/TFootAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/THeadAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/THeadAttributable.java
index b40dac6f3..9b577e522 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/THeadAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/THeadAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/TableAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/TableAttributable.java
index 8c7ab312f..00bd989ba 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/TableAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/TableAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/TdAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/TdAttributable.java
index d82af589f..2c9b1be2b 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/TdAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/TdAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/TemplateAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/TemplateAttributable.java
index 98f9c705b..4785dd312 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/TemplateAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/TemplateAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/TextAreaAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/TextAreaAttributable.java
index 62e8931aa..ecf57d665 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/TextAreaAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/TextAreaAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/ThAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/ThAttributable.java
index cdfc70fe4..953ec0aab 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/ThAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/ThAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/TitleAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/TitleAttributable.java
index 2647f551a..900a7dcde 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/TitleAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/TitleAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/TrAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/TrAttributable.java
index d682a62f2..5a45bbd45 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/TrAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/TrAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/UAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/UAttributable.java
index 98c5bacc0..db787fcc3 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/UAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/UAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/UlAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/UlAttributable.java
index 1e0197a65..1aa893b9c 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/UlAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/UlAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/VarAttributable.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/VarAttributable.java
index e3579100c..fe3baec45 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/VarAttributable.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/VarAttributable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/package-info.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/package-info.java
index 596db6699..ccd43e797 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/package-info.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/identifier/package-info.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed 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
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/images/Area.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/images/Area.java
index 11b40d8c6..377f4f643 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/images/Area.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/images/Area.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/images/Img.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/images/Img.java
index 1efae5be6..e7b891644 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/images/Img.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/images/Img.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/images/MapTag.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/images/MapTag.java
index c02ab7dc3..65b2760dc 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/images/MapTag.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/images/MapTag.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/links/A.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/links/A.java
index 5d2d948b1..47fb785cb 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/links/A.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/links/A.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/links/Link.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/links/Link.java
index 74d425956..dea5dabf3 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/links/Link.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/links/Link.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/lists/Dd.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/lists/Dd.java
index 796f54d0e..bc2e480c5 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/lists/Dd.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/lists/Dd.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/lists/Dl.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/lists/Dl.java
index 053a8352f..371ebdf0e 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/lists/Dl.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/lists/Dl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/lists/Dt.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/lists/Dt.java
index 6ff6ade79..bc3c5f640 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/lists/Dt.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/lists/Dt.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/lists/Li.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/lists/Li.java
index df58eebe2..947e4fdb2 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/lists/Li.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/lists/Li.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/lists/Ol.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/lists/Ol.java
index 28327219a..27ebb9f39 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/lists/Ol.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/lists/Ol.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/lists/Ul.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/lists/Ul.java
index e8592d920..ead8bc118 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/lists/Ul.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/lists/Ul.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/metainfo/Base.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/metainfo/Base.java
index 34247c79a..78cf0a18c 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/metainfo/Base.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/metainfo/Base.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/metainfo/Head.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/metainfo/Head.java
index 814e487b1..06b111323 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/metainfo/Head.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/metainfo/Head.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/metainfo/Meta.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/metainfo/Meta.java
index cbc34a2a7..0a20efbea 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/metainfo/Meta.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/metainfo/Meta.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/model/AbstractHtml5SharedObject.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/model/AbstractHtml5SharedObject.java
index 8c62d9cab..47136f7f8 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/model/AbstractHtml5SharedObject.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/model/AbstractHtml5SharedObject.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/model/SharedObjectIdGenerator.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/model/SharedObjectIdGenerator.java
index 2a49b0159..afa92063d 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/model/SharedObjectIdGenerator.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/model/SharedObjectIdGenerator.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/model/package-info.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/model/package-info.java
index 977bdba1f..f2c4f1bd0 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/model/package-info.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/model/package-info.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed 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
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/programming/NoScript.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/programming/NoScript.java
index 2ce5af2f7..4ae6e2fa0 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/programming/NoScript.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/programming/NoScript.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/programming/ObjectTag.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/programming/ObjectTag.java
index 0009f7526..711cae0f2 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/programming/ObjectTag.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/programming/ObjectTag.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/programming/Param.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/programming/Param.java
index df34d00e8..629bbd661 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/programming/Param.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/programming/Param.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/programming/Script.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/programming/Script.java
index 8453f8e54..bc3b2bb32 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/programming/Script.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/programming/Script.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/stylesandsemantics/Div.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/stylesandsemantics/Div.java
index 14472439e..a8a96be6d 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/stylesandsemantics/Div.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/stylesandsemantics/Div.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/stylesandsemantics/Span.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/stylesandsemantics/Span.java
index 3934bd714..31f3f080c 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/stylesandsemantics/Span.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/stylesandsemantics/Span.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/stylesandsemantics/StyleTag.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/stylesandsemantics/StyleTag.java
index 75fe71f8a..38ba3ec8e 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/stylesandsemantics/StyleTag.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/stylesandsemantics/StyleTag.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/Caption.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/Caption.java
index 6832132ee..d665d7ade 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/Caption.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/Caption.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/Col.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/Col.java
index b910d37e9..ab006d279 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/Col.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/Col.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/ColGroup.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/ColGroup.java
index d592a1604..0ff3d2ea9 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/ColGroup.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/ColGroup.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/TBody.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/TBody.java
index 91117294b..2dcb2bdf7 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/TBody.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/TBody.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/TFoot.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/TFoot.java
index 7f48cfcca..18b3700df 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/TFoot.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/TFoot.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/THead.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/THead.java
index a96d3e957..dc049fc06 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/THead.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/THead.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/Table.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/Table.java
index 6d75ffd97..ec53b33ca 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/Table.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/Table.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/Td.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/Td.java
index 3c4494d9f..88cc82755 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/Td.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/Td.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/Th.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/Th.java
index 7c33501d3..263750e6f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/Th.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/Th.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/Tr.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/Tr.java
index f19dede13..6f7c71301 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/Tr.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/tables/Tr.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/htmlwff/Blank.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/htmlwff/Blank.java
index 6e53d016e..2171f3b2f 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/htmlwff/Blank.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/htmlwff/Blank.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/htmlwff/CustomTag.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/htmlwff/CustomTag.java
index e571696a6..3dbfdd321 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/htmlwff/CustomTag.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/htmlwff/CustomTag.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/htmlwff/NoTag.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/htmlwff/NoTag.java
index 06da6b462..57bd84621 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/htmlwff/NoTag.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/htmlwff/NoTag.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/htmlwff/TagContent.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/htmlwff/TagContent.java
index ae82bfcc8..439e3de96 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/htmlwff/TagContent.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/htmlwff/TagContent.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/repository/TagRepository.java b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/repository/TagRepository.java
index d9c52d7fa..e9778be68 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/tag/repository/TagRepository.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/tag/repository/TagRepository.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/util/ByteBufferUtil.java b/wffweb/src/main/java/com/webfirmframework/wffweb/util/ByteBufferUtil.java
index bbdf3b862..7d9696ebf 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/util/ByteBufferUtil.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/util/ByteBufferUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/util/CharsetUtil.java b/wffweb/src/main/java/com/webfirmframework/wffweb/util/CharsetUtil.java
index 60bc84bb9..756b75a09 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/util/CharsetUtil.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/util/CharsetUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/util/CssLengthUtil.java b/wffweb/src/main/java/com/webfirmframework/wffweb/util/CssLengthUtil.java
index aa98ac6ed..64bbd5e79 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/util/CssLengthUtil.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/util/CssLengthUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/util/CssTimeUtil.java b/wffweb/src/main/java/com/webfirmframework/wffweb/util/CssTimeUtil.java
index c266e8416..7cfe17ffc 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/util/CssTimeUtil.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/util/CssTimeUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/util/CssValueUtil.java b/wffweb/src/main/java/com/webfirmframework/wffweb/util/CssValueUtil.java
index 846a2dc65..eeb5a4537 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/util/CssValueUtil.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/util/CssValueUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/util/FileUtil.java b/wffweb/src/main/java/com/webfirmframework/wffweb/util/FileUtil.java
index 1fbd5c0f0..e89f075f9 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/util/FileUtil.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/util/FileUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/util/HashUtil.java b/wffweb/src/main/java/com/webfirmframework/wffweb/util/HashUtil.java
index 214c23556..eb2bf9547 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/util/HashUtil.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/util/HashUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/util/ObjectUtil.java b/wffweb/src/main/java/com/webfirmframework/wffweb/util/ObjectUtil.java
index 7777ce818..108641ea3 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/util/ObjectUtil.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/util/ObjectUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/util/Slice.java b/wffweb/src/main/java/com/webfirmframework/wffweb/util/Slice.java
index 5cf67e91d..2add4b446 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/util/Slice.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/util/Slice.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/util/StringBuilderUtil.java b/wffweb/src/main/java/com/webfirmframework/wffweb/util/StringBuilderUtil.java
index c9c0346d3..0d7e9cfa9 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/util/StringBuilderUtil.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/util/StringBuilderUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/util/StringUtil.java b/wffweb/src/main/java/com/webfirmframework/wffweb/util/StringUtil.java
index 1e249f9c7..19a22181e 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/util/StringUtil.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/util/StringUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/util/TagStringUtil.java b/wffweb/src/main/java/com/webfirmframework/wffweb/util/TagStringUtil.java
index 1bd7a8aac..f82810e47 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/util/TagStringUtil.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/util/TagStringUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/util/URIUtil.java b/wffweb/src/main/java/com/webfirmframework/wffweb/util/URIUtil.java
index 82ced7ec4..83745438a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/util/URIUtil.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/util/URIUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/util/WffBinaryMessageUtil.java b/wffweb/src/main/java/com/webfirmframework/wffweb/util/WffBinaryMessageUtil.java
index d7c47ad5d..995225c55 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/util/WffBinaryMessageUtil.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/util/WffBinaryMessageUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -215,17 +215,23 @@ public byte[] getWffBinaryMessageBytes(final NameValue... nameValues) {
@Override
public List parse(final byte[] message) {
+ return parse(message, 0, message.length);
+ }
+
+ @Override
+ public List parse(final byte[] message, final int offset, final int length) {
// needs to optimize this code to find the total no. of name values.
final List nameValues = new LinkedList<>();
- final byte[] nameLengthBytes = new byte[message[0]];
- final byte[] valueLengthBytes = new byte[message[1]];
+ final byte[] nameLengthBytes = new byte[message[offset]];
+ final byte[] valueLengthBytes = new byte[message[offset + 1]];
final int nameLengthBytesLength = nameLengthBytes.length;
final int valueLengthBytesLength = valueLengthBytes.length;
- for (int messageIndex = 2; messageIndex < message.length; messageIndex++) {
+ final int endIndex = offset + length - 1;
+ for (int messageIndex = offset + 2; messageIndex <= endIndex; messageIndex++) {
final NameValue nameValue = new NameValue();
@@ -309,6 +315,18 @@ private static byte[][] extractEachValueBytes(final byte[] valueLengthBytes, fin
return finalValues[0];
}
+ /**
+ * @param message the wff binary message bytes
+ * @param offset the start index
+ * @param length the number of bytes to be read from the offset
+ * @return the list of name value pairs
+ * @since 12.0.0-beta.8
+ * @author WFF
+ */
+ public List parse(final byte[] message, final int offset, final int length) {
+ throw new AssertionError();
+ }
+
/**
* @param message the wff binary message bytes
* @return the list of name value pairs
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/util/data/NameValue.java b/wffweb/src/main/java/com/webfirmframework/wffweb/util/data/NameValue.java
index 897b5712f..83c0858c5 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/util/data/NameValue.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/util/data/NameValue.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/view/AbstractHtmlView.java b/wffweb/src/main/java/com/webfirmframework/wffweb/view/AbstractHtmlView.java
index dc5816290..9f65438bf 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/view/AbstractHtmlView.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/view/AbstractHtmlView.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/view/HtmlView.java b/wffweb/src/main/java/com/webfirmframework/wffweb/view/HtmlView.java
index 974c41cb7..5100b13df 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/view/HtmlView.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/view/HtmlView.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/BMType.java b/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/BMType.java
index 515166bde..29dd3bfcb 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/BMType.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/BMType.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/BMValueType.java b/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/BMValueType.java
index cb25a7154..55048760b 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/BMValueType.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/BMValueType.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/ValueValueType.java b/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/ValueValueType.java
index 0589d48d1..6289f0288 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/ValueValueType.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/ValueValueType.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/WffBMArray.java b/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/WffBMArray.java
index 4ecb038eb..bc8bfd091 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/WffBMArray.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/WffBMArray.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/WffBMByteArray.java b/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/WffBMByteArray.java
index 7f96afbec..648c55e8a 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/WffBMByteArray.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/WffBMByteArray.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/WffBMData.java b/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/WffBMData.java
index 5ccb347c9..bfd9252a0 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/WffBMData.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/WffBMData.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/WffBMNumberArray.java b/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/WffBMNumberArray.java
index 4c5ef9040..6d0fdd971 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/WffBMNumberArray.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/WffBMNumberArray.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/WffBMObject.java b/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/WffBMObject.java
index d6d2c4b4e..37f524d6e 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/WffBMObject.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/WffBMObject.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/WffData.java b/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/WffData.java
index 821921172..27ed5e544 100644
--- a/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/WffData.java
+++ b/wffweb/src/main/java/com/webfirmframework/wffweb/wffbm/data/WffData.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2022 Web Firm Framework
+ * Copyright 2014-2023 Web Firm Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/wffweb/src/main/resources/com/webfirmframework/wffweb/internal/server/page/js/wffBMUtil.js b/wffweb/src/main/resources/com/webfirmframework/wffweb/internal/server/page/js/wffBMUtil.js
index 207b7c395..0cb74620b 100644
--- a/wffweb/src/main/resources/com/webfirmframework/wffweb/internal/server/page/js/wffBMUtil.js
+++ b/wffweb/src/main/resources/com/webfirmframework/wffweb/internal/server/page/js/wffBMUtil.js
@@ -237,6 +237,7 @@ var wffBMUtil = new function() {
var bytes = [ (value >> 24), (value >> 16), (value >> 8), value ];
return bytes;
};
+ this.getBytesFromInt = getBytesFromInt;
/**
* @param bytes
diff --git a/wffweb/src/main/resources/com/webfirmframework/wffweb/internal/server/page/js/wffClientCRUDUtil.js b/wffweb/src/main/resources/com/webfirmframework/wffweb/internal/server/page/js/wffClientCRUDUtil.js
index 933a17b2d..e3e613bbe 100644
--- a/wffweb/src/main/resources/com/webfirmframework/wffweb/internal/server/page/js/wffClientCRUDUtil.js
+++ b/wffweb/src/main/resources/com/webfirmframework/wffweb/internal/server/page/js/wffClientCRUDUtil.js
@@ -347,8 +347,7 @@ var wffClientCRUDUtil = new function() {
htmlNodes.nodeName, htmlNodes
.getAttribute("data-wff-id"));
var parentOfExistingTag = existingTag.parentNode;
- parentOfExistingTag.removeChild(existingTag);
-
+ if (parentOfExistingTag) {parentOfExistingTag.removeChild(existingTag);}
}
parentTag.insertBefore(htmlNodes, beforeTag);
}
@@ -391,8 +390,7 @@ var wffClientCRUDUtil = new function() {
htmlNodes.nodeName, htmlNodes
.getAttribute("data-wff-id"));
var parentOfExistingTag = existingTag.parentNode;
- parentOfExistingTag.removeChild(existingTag);
-
+ if (parentOfExistingTag) {parentOfExistingTag.removeChild(existingTag);}
}
parentTag.insertBefore(htmlNodes, beforeTag);
diff --git a/wffweb/src/main/resources/com/webfirmframework/wffweb/internal/server/page/js/wffGlobal.js b/wffweb/src/main/resources/com/webfirmframework/wffweb/internal/server/page/js/wffGlobal.js
index 7490f8881..4e79416f0 100644
--- a/wffweb/src/main/resources/com/webfirmframework/wffweb/internal/server/page/js/wffGlobal.js
+++ b/wffweb/src/main/resources/com/webfirmframework/wffweb/internal/server/page/js/wffGlobal.js
@@ -4,10 +4,36 @@
window.wffGlobal = new function() {
var wffId = -1;
+ // serverSidePayloadIdGenerator
+ var serverPIdGen = 0;
+ // clientSidePayloadIdGenerator
+ var clientPIdGen = 0;
+ var MAX_INT_VALUE = 2147483647;
+ // onPayloadLossInvoked
+ var onPLI = false;
this.getUniqueWffIntId = function() {
return ++wffId;
};
+ this.getUniqueServerSidePayloadId = function() {
+ var id = ++serverPIdGen;
+ if (id == 0) {
+ id = ++serverPIdGen;
+ } else if (id > MAX_INT_VALUE) {
+ id = id * -1;
+ }
+ return id;
+ };
+ this.getUniqueClientSidePayloadId = function() {
+ var id = ++clientPIdGen;
+ if (id == 0) {
+ id = ++serverPIdGen;
+ } else if (id > MAX_INT_VALUE) {
+ id = id * -1;
+ }
+ return id;
+ };
+
//COMPRESSED WFF DATA
this.CPRSD_DATA = "${CPRSD_DATA}";
@@ -24,6 +50,8 @@ window.wffGlobal = new function() {
this.REMOVE_PREV_BP_ON_TABCLOSE = "${REMOVE_PREV_BP_ON_TABCLOSE}";
//reconnect time interval for WebSocket
this.WS_RECON = "${WS_RECON}";
+ this.LOSSLESS_COMM = "${LOSSLESS_COMM}";
+ this.onPayloadLoss = function() {if (!this.onPLI) { this.onPLI = true; "${ON_PAYLOAD_LOSS}"}};
if ((typeof TextEncoder) === "undefined") {
diff --git a/wffweb/src/main/resources/com/webfirmframework/wffweb/internal/server/page/js/wffWS.js b/wffweb/src/main/resources/com/webfirmframework/wffweb/internal/server/page/js/wffWS.js
index 7b99beb3f..cdc0f9f72 100644
--- a/wffweb/src/main/resources/com/webfirmframework/wffweb/internal/server/page/js/wffWS.js
+++ b/wffweb/src/main/resources/com/webfirmframework/wffweb/internal/server/page/js/wffWS.js
@@ -75,8 +75,22 @@ var wffWS = new function() {
//invalid wff bm message so not to process
return;
}
-
- wffClientCRUDUtil.invokeTasks(binary);
+ if ((wffGlobal.LOSSLESS_COMM || binary[0] == 0) && binary.length > 4) {
+ var payloadId = wffBMUtil.getIntFromOptimizedBytes([binary[0], binary[1], binary[2], binary[3]]);
+ // payloadId = 0 means it has no id but has placeholder for id
+ if (payloadId != 0 && payloadId != wffGlobal.getUniqueServerSidePayloadId()) {
+ wffGlobal.onPayloadLoss();
+ } else {
+ // TODO optimize later
+ var bin = [];
+ for (var i = 4; i < binary.length; i++) {
+ bin.push(binary[i]);
+ }
+ wffClientCRUDUtil.invokeTasks(bin);
+ }
+ } else {
+ wffClientCRUDUtil.invokeTasks(binary);
+ }
}catch(e){
wffLog(e);
}
@@ -96,8 +110,23 @@ var wffWS = new function() {
// console.log(i, binary[i]);
// }
- var executed = wffClientMethods.exePostFun(binary);
+ if ((wffGlobal.LOSSLESS_COMM || binary[0] == 0) && binary.length > 4) {
+ var payloadId = wffBMUtil.getIntFromOptimizedBytes([binary[0], binary[1], binary[2], binary[3]]);
+ // payloadId = 0 means it has no id but has placeholder for id
+ if (payloadId != 0 && payloadId != wffGlobal.getUniqueServerSidePayloadId()) {
+ wffGlobal.onPayloadLoss();
+ return;
+ } else {
+ // TODO optimize later
+ var bin = [];
+ for (var i = 4; i < binary.length; i++) {
+ bin.push(binary[i]);
+ }
+ binary = bin;
+ }
+ }
+ var executed = wffClientMethods.exePostFun(binary);
if (!executed) {
wffClientCRUDUtil.invokeTasks(binary);
}
@@ -159,7 +188,14 @@ var wffWS = new function() {
*/
this.send = function(bytes) {
if (bytes.length > 0) {
- inDataQ.push(bytes);
+ var bin = bytes;
+ if (wffGlobal.LOSSLESS_COMM && bin.length > 4) {
+ bin = wffBMUtil.getBytesFromInt(wffGlobal.getUniqueClientSidePayloadId());
+ for (var i = 0; i < bytes.length; i++) {
+ bin.push(bytes[i]);
+ }
+ }
+ inDataQ.push(bin);
if (sendQData !== null) {
sendQData();
}
diff --git a/wffweb/src/test/java/com/webfirmframework/wffweb/common/SampleBrowserPage.java b/wffweb/src/test/java/com/webfirmframework/wffweb/common/SampleBrowserPage.java
new file mode 100644
index 000000000..24d0bccc7
--- /dev/null
+++ b/wffweb/src/test/java/com/webfirmframework/wffweb/common/SampleBrowserPage.java
@@ -0,0 +1,54 @@
+package com.webfirmframework.wffweb.common;
+
+import com.webfirmframework.wffweb.server.page.BrowserPage;
+import com.webfirmframework.wffweb.server.page.action.BrowserPageAction;
+import com.webfirmframework.wffweb.tag.html.AbstractHtml;
+
+/**
+ * should be kept in a package other than com.webfirmframework.wffweb.server.page
+ */
+public class SampleBrowserPage extends BrowserPage {
+
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public String webSocketUrl() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public AbstractHtml render() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected Settings useSettings() {
+ Settings defaultSettings = super.defaultSettings();
+ //to test if there is any compilation error for ServerSideAction in anonymous way
+ OnPayloadLoss onPayloadLoss = new OnPayloadLoss("location.reload();", new ServerSideAction() {
+ @Override
+ public void perform() {
+ SampleBrowserPage.this.performBrowserPageAction(BrowserPageAction.RELOAD_FROM_CACHE.getActionByteBuffer());
+ }
+ });
+
+ //to test if there is any compilation error for ServerSideAction in anonymous way
+ onPayloadLoss = new OnPayloadLoss("location.reload();", () -> SampleBrowserPage.this.performBrowserPageAction(BrowserPageAction.RELOAD_FROM_CACHE.getActionByteBuffer()));
+
+ Settings settings = new BrowserPage.Settings(
+ defaultSettings.inputBufferLimit(),
+ defaultSettings.inputBufferTimeout(),
+ defaultSettings.outputBufferLimit(),
+ defaultSettings.outputBufferTimeout(),
+ onPayloadLoss);
+ return settings;
+ }
+
+ //the method is public just for testing, BrowserPage.Settings is not publicly accessible
+ @SuppressWarnings("exports")
+ public BrowserPage.Settings getDefaultSettings() {
+ return defaultSettings();
+ }
+}
diff --git a/wffweb/src/test/java/com/webfirmframework/wffweb/common/test/AllTests.java b/wffweb/src/test/java/com/webfirmframework/wffweb/common/test/AllTests.java
index aad68822e..b520b12bd 100644
--- a/wffweb/src/test/java/com/webfirmframework/wffweb/common/test/AllTests.java
+++ b/wffweb/src/test/java/com/webfirmframework/wffweb/common/test/AllTests.java
@@ -137,6 +137,7 @@
import com.webfirmframework.wffweb.server.page.ExternalDriveClientTasksWrapperDequeTest;
import com.webfirmframework.wffweb.server.page.ExternalDriveClientTasksWrapperQueueTest;
import com.webfirmframework.wffweb.server.page.TaskTest;
+import com.webfirmframework.wffweb.server.page.action.BrowserPageActionTest;
import com.webfirmframework.wffweb.streamer.WffBinaryMessageOutputStreamerTest;
import com.webfirmframework.wffweb.tag.html.AbstractHtmlRepositoryTest;
import com.webfirmframework.wffweb.tag.html.AbstractHtmlTest;
@@ -222,7 +223,7 @@
UnicodeStringTest.class, ExternalDriveByteArrayQueueTest.class, ExternalDriveClientTasksWrapperDequeTest.class,
ExternalDriveClientTasksWrapperQueueTest.class, AttributeIdGeneratorTest.class,
SharedObjectIdGeneratorTest.class, WhenURIUseCaseTest.class, URIUtilTest.class, EventInitiatorTest.class,
- ImmutableCustomAttributeTest.class })
+ ImmutableCustomAttributeTest.class, BrowserPageActionTest.class })
public class AllTests {
}
diff --git a/wffweb/src/test/java/com/webfirmframework/wffweb/internal/server/page/js/WffJsFileTest.java b/wffweb/src/test/java/com/webfirmframework/wffweb/internal/server/page/js/WffJsFileTest.java
index 08e2386fb..1844bb4c0 100644
--- a/wffweb/src/test/java/com/webfirmframework/wffweb/internal/server/page/js/WffJsFileTest.java
+++ b/wffweb/src/test/java/com/webfirmframework/wffweb/internal/server/page/js/WffJsFileTest.java
@@ -50,8 +50,16 @@ public class WffJsFileTest {
A[k] = kValue;}
k += 1;}
A.length = len;return A;};}());}window.wffGlobal = new function() {
- var wffId = -1;this.getUniqueWffIntId = function() {
- return ++wffId;};this.CPRSD_DATA = true;this.NDXD_TGS = ["#","@","a","b","i","p","q","s","u","br","dd","dl","dt","em","h1","h2","h3","h4","h5","h6","hr","li","ol","rp","rt","td","th","tr","ul","bdi","bdo","col","del","dfn","div","img","ins","kbd","map","nav","pre","qfn","sub","sup","svg","var","wbr","abbr","area","base","body","cite","code","data","form","head","html","line","link","main","mark","math","menu","meta","path","rect","ruby","samp","span","text","time","aside","audio","embed","input","label","meter","param","small","style","table","tbody","tfoot","thead","title","track","video","button","canvas","circle","dialog","figure","footer","header","hgroup","iframe","keygen","legend","object","option","output","script","select","source","strong","address","article","caption","details","ellipse","picture","polygon","section","summary","basefont","colgroup","datalist","fieldset","menuitem","noscript","optgroup","polyline","progress","template","textarea","blockquote","figcaption"];this.NDXD_ATRBS = ["id","alt","dir","for","low","max","min","rel","rev","src","cols","face","form","high","href","lang","list","loop","name","open","role","rows","size","step","type","wrap","align","async","class","color","defer","ismap","media","muted","nonce","oncut","scope","shape","sizes","style","title","value","width","accept","action","border","coords","height","hidden","method","nohref","onblur","oncopy","ondrag","ondrop","onload","onplay","onshow","poster","sorted","srcset","target","usemap","charset","checked","colspan","content","default","dirname","enctype","headers","onabort","onclick","onended","onerror","onfocus","oninput","onkeyup","onpaste","onpause","onreset","onwheel","optimum","pattern","preload","rowspan","sandbox","autoplay","controls","datetime","disabled","download","dropzone","hreflang","multiple","onchange","ononline","onresize","onscroll","onsearch","onseeked","onselect","onsubmit","ontoggle","onunload","readonly","required","reversed","selected","tabindex","accesskey","autofocus","draggable","maxlength","minlength","oncanplay","ondragend","onemptied","onfocusin","oninvalid","onkeydown","onmouseup","onoffline","onplaying","onseeking","onstalled","onstorage","onsuspend","onwaiting","translate","formaction","formmethod","formtarget","http-equiv","ondblclick","ondragover","onfocusout","onkeypress","onmouseout","onpagehide","onpageshow","onpopstate","onprogress","ontouchend","spellcheck","cellpadding","cellspacing","contextmenu","data-wff-id","formenctype","ondragenter","ondragleave","ondragstart","onloadstart","onmousedown","onmousemove","onmouseover","ontouchmove","placeholder","animationend","autocomplete","onafterprint","onhashchange","onloadeddata","onmouseenter","onmouseleave","onratechange","ontimeupdate","ontouchstart","onbeforeprint","oncontextmenu","ontouchcancel","transitionend","accept-charset","animationstart","formnovalidate","onbeforeunload","onvolumechange","contenteditable","oncanplaythrough","ondurationchange","onloadedmetadata","animationiteration"];this.NDXD_VNT_ATRBS = ["oncut","onblur","oncopy","ondrag","ondrop","onload","onplay","onshow","onabort","onclick","onended","onerror","onfocus","oninput","onkeyup","onpaste","onpause","onreset","onwheel","onchange","ononline","onresize","onscroll","onsearch","onseeked","onselect","onsubmit","ontoggle","onunload","oncanplay","ondragend","onemptied","onfocusin","oninvalid","onkeydown","onmouseup","onoffline","onplaying","onseeking","onstalled","onstorage","onsuspend","onwaiting","ondblclick","ondragover","onfocusout","onkeypress","onmouseout","onpagehide","onpageshow","onpopstate","onprogress","ontouchend","ondragenter","ondragleave","ondragstart","onloadstart","onmousedown","onmousemove","onmouseover","ontouchmove","onafterprint","onhashchange","onloadeddata","onmouseenter","onmouseleave","onratechange","ontimeupdate","ontouchstart","onbeforeprint","oncontextmenu","ontouchcancel","onbeforeunload","onvolumechange","oncanplaythrough","ondurationchange","onloadedmetadata"];this.NDXD_BLN_ATRBS = ["open","async","defer","ismap","hidden","checked","default","controls","disabled","multiple","readonly","reversed","selected"];this.taskValues = {INITIAL_WS_OPEN:0,INVOKE_ASYNC_METHOD:1,ATTRIBUTE_UPDATED:2,TASK:3,APPENDED_CHILD_TAG:4,REMOVED_TAGS:5,APPENDED_CHILDREN_TAGS:6,REMOVED_ALL_CHILDREN_TAGS:7,MOVED_CHILDREN_TAGS:8,INSERTED_BEFORE_TAG:9,INSERTED_AFTER_TAG:10,REPLACED_WITH_TAGS:11,REMOVED_ATTRIBUTES:12,ADDED_ATTRIBUTES:13,MANY_TO_ONE:14,ONE_TO_MANY:15,MANY_TO_MANY:16,ONE_TO_ONE:17,ADDED_INNER_HTML:18,INVOKE_POST_FUNCTION:19,EXEC_JS:20,RELOAD_BROWSER:21,RELOAD_BROWSER_FROM_CACHE:22,INVOKE_CALLBACK_FUNCTION:23,INVOKE_CUSTOM_SERVER_METHOD:24,TASK_OF_TASKS:25,COPY_INNER_TEXT_TO_VALUE:26,REMOVE_BROWSER_PAGE:27,SET_BM_OBJ_ON_TAG:28,SET_BM_ARR_ON_TAG:29,DEL_BM_OBJ_OR_ARR_FROM_TAG:30,CLIENT_PATHNAME_CHANGED:31,AFTER_SET_URI:32,SET_URI:33,SET_LS_ITEM:34,SET_LS_TOKEN:35,GET_LS_ITEM:36,REMOVE_LS_ITEM:37,REMOVE_LS_TOKEN:38,REMOVE_AND_GET_LS_ITEM:39,CLEAR_LS:40};this.uriEventInitiator = {SERVER_CODE:0,CLIENT_CODE:1,BROWSER:2,size:3};this.WS_URL = "ws://webfirmframework.com";this.INSTANCE_ID = "instance-id-1234585-451";this.NODE_ID = "7479d235-7f41-445b-bbaa-ea56a88d19c6";this.REMOVE_PREV_BP_ON_INITTAB = true;this.REMOVE_PREV_BP_ON_TABCLOSE = true;this.WS_RECON = 2000;if ((typeof TextEncoder) === "undefined") {
+ var wffId = -1;var serverPIdGen = 0;var clientPIdGen = 0;var MAX_INT_VALUE = 2147483647;var onPLI = false;this.getUniqueWffIntId = function() {
+ return ++wffId;};this.getUniqueServerSidePayloadId = function() {
+ var id = ++serverPIdGen;if (id == 0) {
+ id = ++serverPIdGen;} else if (id > MAX_INT_VALUE) {
+ id = id * -1;}
+ return id;};this.getUniqueClientSidePayloadId = function() {
+ var id = ++clientPIdGen;if (id == 0) {
+ id = ++serverPIdGen;} else if (id > MAX_INT_VALUE) {
+ id = id * -1;}
+ return id;};this.CPRSD_DATA = true;this.NDXD_TGS = ["#","@","a","b","i","p","q","s","u","br","dd","dl","dt","em","h1","h2","h3","h4","h5","h6","hr","li","ol","rp","rt","td","th","tr","ul","bdi","bdo","col","del","dfn","div","img","ins","kbd","map","nav","pre","qfn","sub","sup","svg","var","wbr","abbr","area","base","body","cite","code","data","form","head","html","line","link","main","mark","math","menu","meta","path","rect","ruby","samp","span","text","time","aside","audio","embed","input","label","meter","param","small","style","table","tbody","tfoot","thead","title","track","video","button","canvas","circle","dialog","figure","footer","header","hgroup","iframe","keygen","legend","object","option","output","script","select","source","strong","address","article","caption","details","ellipse","picture","polygon","section","summary","basefont","colgroup","datalist","fieldset","menuitem","noscript","optgroup","polyline","progress","template","textarea","blockquote","figcaption"];this.NDXD_ATRBS = ["id","alt","dir","for","low","max","min","rel","rev","src","cols","face","form","high","href","lang","list","loop","name","open","role","rows","size","step","type","wrap","align","async","class","color","defer","ismap","media","muted","nonce","oncut","scope","shape","sizes","style","title","value","width","accept","action","border","coords","height","hidden","method","nohref","onblur","oncopy","ondrag","ondrop","onload","onplay","onshow","poster","sorted","srcset","target","usemap","charset","checked","colspan","content","default","dirname","enctype","headers","onabort","onclick","onended","onerror","onfocus","oninput","onkeyup","onpaste","onpause","onreset","onwheel","optimum","pattern","preload","rowspan","sandbox","autoplay","controls","datetime","disabled","download","dropzone","hreflang","multiple","onchange","ononline","onresize","onscroll","onsearch","onseeked","onselect","onsubmit","ontoggle","onunload","readonly","required","reversed","selected","tabindex","accesskey","autofocus","draggable","maxlength","minlength","oncanplay","ondragend","onemptied","onfocusin","oninvalid","onkeydown","onmouseup","onoffline","onplaying","onseeking","onstalled","onstorage","onsuspend","onwaiting","translate","formaction","formmethod","formtarget","http-equiv","ondblclick","ondragover","onfocusout","onkeypress","onmouseout","onpagehide","onpageshow","onpopstate","onprogress","ontouchend","spellcheck","cellpadding","cellspacing","contextmenu","data-wff-id","formenctype","ondragenter","ondragleave","ondragstart","onloadstart","onmousedown","onmousemove","onmouseover","ontouchmove","placeholder","animationend","autocomplete","onafterprint","onhashchange","onloadeddata","onmouseenter","onmouseleave","onratechange","ontimeupdate","ontouchstart","onbeforeprint","oncontextmenu","ontouchcancel","transitionend","accept-charset","animationstart","formnovalidate","onbeforeunload","onvolumechange","contenteditable","oncanplaythrough","ondurationchange","onloadedmetadata","animationiteration"];this.NDXD_VNT_ATRBS = ["oncut","onblur","oncopy","ondrag","ondrop","onload","onplay","onshow","onabort","onclick","onended","onerror","onfocus","oninput","onkeyup","onpaste","onpause","onreset","onwheel","onchange","ononline","onresize","onscroll","onsearch","onseeked","onselect","onsubmit","ontoggle","onunload","oncanplay","ondragend","onemptied","onfocusin","oninvalid","onkeydown","onmouseup","onoffline","onplaying","onseeking","onstalled","onstorage","onsuspend","onwaiting","ondblclick","ondragover","onfocusout","onkeypress","onmouseout","onpagehide","onpageshow","onpopstate","onprogress","ontouchend","ondragenter","ondragleave","ondragstart","onloadstart","onmousedown","onmousemove","onmouseover","ontouchmove","onafterprint","onhashchange","onloadeddata","onmouseenter","onmouseleave","onratechange","ontimeupdate","ontouchstart","onbeforeprint","oncontextmenu","ontouchcancel","onbeforeunload","onvolumechange","oncanplaythrough","ondurationchange","onloadedmetadata"];this.NDXD_BLN_ATRBS = ["open","async","defer","ismap","hidden","checked","default","controls","disabled","multiple","readonly","reversed","selected"];this.taskValues = {INITIAL_WS_OPEN:0,INVOKE_ASYNC_METHOD:1,ATTRIBUTE_UPDATED:2,TASK:3,APPENDED_CHILD_TAG:4,REMOVED_TAGS:5,APPENDED_CHILDREN_TAGS:6,REMOVED_ALL_CHILDREN_TAGS:7,MOVED_CHILDREN_TAGS:8,INSERTED_BEFORE_TAG:9,INSERTED_AFTER_TAG:10,REPLACED_WITH_TAGS:11,REMOVED_ATTRIBUTES:12,ADDED_ATTRIBUTES:13,MANY_TO_ONE:14,ONE_TO_MANY:15,MANY_TO_MANY:16,ONE_TO_ONE:17,ADDED_INNER_HTML:18,INVOKE_POST_FUNCTION:19,EXEC_JS:20,RELOAD_BROWSER:21,RELOAD_BROWSER_FROM_CACHE:22,INVOKE_CALLBACK_FUNCTION:23,INVOKE_CUSTOM_SERVER_METHOD:24,TASK_OF_TASKS:25,COPY_INNER_TEXT_TO_VALUE:26,REMOVE_BROWSER_PAGE:27,SET_BM_OBJ_ON_TAG:28,SET_BM_ARR_ON_TAG:29,DEL_BM_OBJ_OR_ARR_FROM_TAG:30,CLIENT_PATHNAME_CHANGED:31,AFTER_SET_URI:32,SET_URI:33,SET_LS_ITEM:34,SET_LS_TOKEN:35,GET_LS_ITEM:36,REMOVE_LS_ITEM:37,REMOVE_LS_TOKEN:38,REMOVE_AND_GET_LS_ITEM:39,CLEAR_LS:40};this.uriEventInitiator = {SERVER_CODE:0,CLIENT_CODE:1,BROWSER:2,size:3};this.WS_URL = "ws://webfirmframework.com";this.INSTANCE_ID = "instance-id-1234585-451";this.NODE_ID = "c4c5a901-88d5-45e4-9c6f-a0d8059d85c0";this.REMOVE_PREV_BP_ON_INITTAB = true;this.REMOVE_PREV_BP_ON_TABCLOSE = true;this.WS_RECON = 2000;this.LOSSLESS_COMM = true;this.onPayloadLoss = function() {if (!this.onPLI) { this.onPLI = true; location.reload();}};if ((typeof TextEncoder) === "undefined") {
this.encoder = new function TextEncoder(charset) {
if (charset === "utf-8") {
this.encode = function(text) {
@@ -152,7 +160,7 @@ public class WffJsFileTest {
return bytes[0] << 24 | (bytes[1] & 0xFF) << 16
| (bytes[2] & 0xFF) << 8 | (bytes[3] & 0xFF);};
var f40 = function(value){
- var bytes = [ (value >> 24), (value >> 16), (value >> 8), value ];return bytes;};
+ var bytes = [ (value >> 24), (value >> 16), (value >> 8), value ];return bytes;};this.f40 = f40;
var f15 = function(bytes){
if(bytes.length == 4){
return bytes[0] << 24 | (bytes[1] & 0xFF) << 16
@@ -195,16 +203,16 @@ public class WffJsFileTest {
var encoder = wffGlobal.encoder;var decoder = wffGlobal.decoder;var f31 = function(utf8Bytes){
return decoder.decode(new Uint8Array(utf8Bytes));};var subarray = wffBMUtil.subarray;var f5 = function(utf8Bytes){
if(utf8Bytes.length == 1){
- var v95 = wffBMUtil.f15(utf8Bytes);return wffGlobal.NDXD_TGS[v95];}
+ var v96 = wffBMUtil.f15(utf8Bytes);return wffGlobal.NDXD_TGS[v96];}
var v7 = utf8Bytes[0];if(v7 > 0){
- var v26 = subarray(utf8Bytes, 1, v7);var v95 = wffBMUtil.f15(v26);return wffGlobal.NDXD_TGS[v95];}else{
+ var v26 = subarray(utf8Bytes, 1, v7);var v96 = wffBMUtil.f15(v26);return wffGlobal.NDXD_TGS[v96];}else{
var v60 = utf8Bytes.length - 1;var v59 = subarray(utf8Bytes, 1, v60);return f31(v59);}
};this.f5 = f5;var getAttrNameFromCompressedBytes = function(utf8Bytes){
if(utf8Bytes.length == 1){
var v82 = wffBMUtil.f15(utf8Bytes);return wffGlobal.NDXD_ATRBS[v82];}
var v5 = utf8Bytes[0];if(v5 > 0){
var v19 = subarray(utf8Bytes, 1, v5);var v82 = wffBMUtil.f15(v19);return wffGlobal.NDXD_ATRBS[v82];}else{
- var v60 = utf8Bytes.length - 1;var v91Bytes = subarray(utf8Bytes, 1, v60);return f31(v91Bytes);}
+ var v60 = utf8Bytes.length - 1;var v92Bytes = subarray(utf8Bytes, 1, v60);return f31(v92Bytes);}
};this.getAttrNameFromCompressedBytes = getAttrNameFromCompressedBytes;var f1 = function(utf8Bytes){
var v5 = utf8Bytes[0];if(v5 > 0){
var v19 = subarray(utf8Bytes, 1, v5);var v82 = wffBMUtil.f15(v19);var v83 = utf8Bytes.length - (v5 + 1);var v68 = subarray(utf8Bytes, v5 + 1, v83);var attrNamVal = [wffGlobal.NDXD_ATRBS[v82], f31(v68)];return attrNamVal;}else{
@@ -215,56 +223,56 @@ public class WffJsFileTest {
tag.appendChild(document.createTextNode(cn.nodeValue));}else{
tag.appendChild(cn.cloneNode(true));}
}
- };this.f17 = function(tagName, v99){
+ };this.f17 = function(tagName, v100){
var elements = document.querySelectorAll(tagName + '[data-wff-id="'
- + v99 + '"]');if(elements.length > 1){
- wffLog('multiple tags with same wff id', 'tagName', 'v99', v99);}
- return elements[0];};this.f41 = function(v99){
- var elements = document.querySelectorAll('[data-wff-id="' + v99
+ + v100 + '"]');if(elements.length > 1){
+ wffLog('multiple tags with same wff id', 'tagName', 'v100', v100);}
+ return elements[0];};this.f41 = function(v100){
+ var elements = document.querySelectorAll('[data-wff-id="' + v100
+ '"]');if(elements.length > 1){
- wffLog('multiple tags with same wff id', 'v99', v99);}
+ wffLog('multiple tags with same wff id', 'v100', v100);}
return elements[0];};
this.f24 = function(v75){
- var v101 = f31([ v75[0] ]);var intBytes = [];for (var i = 1; i < v75.length; i++){
+ var v102 = f31([ v75[0] ]);var intBytes = [];for (var i = 1; i < v75.length; i++){
intBytes.push(v75[i]);}
- var v100 = wffBMUtil.f15(intBytes);return v101 + v100;};this.f26 = function(tag){
+ var v101 = wffBMUtil.f15(intBytes);return v102 + v101;};this.f26 = function(tag){
var v87 = tag.getAttribute("data-wff-id");if(v87 == null){
v87 = "C" + wffGlobal.getUniqueWffIntId();tag.setAttribute("data-wff-id", v87);}
- var v101 = v87.substring(0, 1);var v51 = encoder.encode(v101);var v75 = [ v51[0] ];var v100 = v87.substring(1, v87.length);var v74 = wffBMUtil.f16(parseInt(v100));v75 = v75.concat(v74);return v75;};var f32 = function(v56){
- var v91;var v87;var v31 = v56.indexOf('=');if(v31 != -1){
- v91 = v56.substring(0, v31);v87 = v56.substring(v31 + 1,
+ var v102 = v87.substring(0, 1);var v51 = encoder.encode(v102);var v75 = [ v51[0] ];var v101 = v87.substring(1, v87.length);var v74 = wffBMUtil.f16(parseInt(v101));v75 = v75.concat(v74);return v75;};var f32 = function(v56){
+ var v92;var v87;var v31 = v56.indexOf('=');if(v31 != -1){
+ v92 = v56.substring(0, v31);v87 = v56.substring(v31 + 1,
v56.length);}else{
- v91 = v56;v87 = '';}
- return [ v91, v87 ];};this.f32 = f32;this.f19 = function(bytes){
- var v76 = wffBMUtil.f10(bytes);var v16 = v76[0];var v29 = v16.values;var v96 = [];var parent;var v54 = f31(v29[0]);if(v54 === '#'){
+ v92 = v56;v87 = '';}
+ return [ v92, v87 ];};this.f32 = f32;this.f19 = function(bytes){
+ var v76 = wffBMUtil.f10(bytes);var v16 = v76[0];var v29 = v16.values;var v97 = [];var parent;var v54 = f31(v29[0]);if(v54 === '#'){
var text = f31(v29[1]);parent = document.createDocumentFragment();parent.appendChild(document.createTextNode(text));}else if(v54 === '@'){
var text = f31(v29[1]);parent = document.createDocumentFragment();f27(parent, text);}else{
parent = document.createElement(v54);for (var i = 1; i < v29.length; i++){
var v56 = f32(f31(v29[i]));parent[v56[0]] = v56[1];parent.setAttribute(v56[0], v56[1]);}
}
- v96.push(parent);for (var i = 1; i < v76.length; i++){
+ v97.push(parent);for (var i = 1; i < v76.length; i++){
var name = v76[i].name;var values = v76[i].values;var tagName = f31(values[0]);var child;if(tagName === '#'){
var text = f31(values[1]);child = document.createDocumentFragment();child.appendChild(document.createTextNode(text));}else if(tagName === '@'){
var text = f31(values[1]);child = document.createDocumentFragment();f27(child, text);}else{
child = document.createElement(tagName);for (var j = 1; j < values.length; j++){
var v56 = f32(f31(values[j]));child[v56[0]] = v56[1];child.setAttribute(v56[0], v56[1]);}
}
- v96.push(child);var v61 = wffBMUtil.f15(name);v96[v61].appendChild(child);}
+ v97.push(child);var v61 = wffBMUtil.f15(name);v97[v61].appendChild(child);}
return parent;};this.f2 = function(bytes){
- var v76 = wffBMUtil.f10(bytes);var v16 = v76[0];var v29 = v16.values;var v96 = [];var parent;var v54 = f5(v29[0]);if(v54 === '#'){
+ var v76 = wffBMUtil.f10(bytes);var v16 = v76[0];var v29 = v16.values;var v97 = [];var parent;var v54 = f5(v29[0]);if(v54 === '#'){
var text = f31(v29[1]);parent = document.createDocumentFragment();parent.appendChild(document.createTextNode(text));}else if(v54 === '@'){
var text = f31(v29[1]);parent = document.createDocumentFragment();f27(parent, text);}else{
parent = document.createElement(v54);for (var i = 1; i < v29.length; i++){
var v56 = f1(v29[i]);parent[v56[0]] = v56[1];parent.setAttribute(v56[0], v56[1]);}
}
- v96.push(parent);for (var i = 1; i < v76.length; i++){
+ v97.push(parent);for (var i = 1; i < v76.length; i++){
var name = v76[i].name;var values = v76[i].values;var tagName = f5(values[0]);var child;if(tagName === '#'){
var text = f31(values[1]);child = document.createDocumentFragment();child.appendChild(document.createTextNode(text));}else if(tagName === '@'){
var text = f31(values[1]);child = document.createDocumentFragment();f27(child, text);}else{
child = document.createElement(tagName);for (var j = 1; j < values.length; j++){
var v56 = f1(values[j]);child[v56[0]] = v56[1];child.setAttribute(v56[0], v56[1]);}
}
- v96.push(child);var v61 = wffBMUtil.f15(name);v96[v61].appendChild(child);}
+ v97.push(child);var v61 = wffBMUtil.f15(name);v97[v61].appendChild(child);}
return parent;};if(wffGlobal.CPRSD_DATA){
this.f19 = this.f2;}
this.f22 = function(p, v20){
@@ -274,14 +282,14 @@ public class WffJsFileTest {
var v76 = [];var tUtf8Bytes = encoder.encode("T");var cUtf8Bytes = encoder.encode("DT");var v46 = {
'name' : tUtf8Bytes,
'values' : [ cUtf8Bytes ]
- };v76.push(v46);var v90 = wffTagUtil.f26(tag);var v84 = {
- 'name' : v90,
+ };v76.push(v46);var v91 = wffTagUtil.f26(tag);var v84 = {
+ 'name' : v91,
'values' : []
- };v76.push(v84);return wffBMUtil.f14(v76);};this.f13 = function(v91, v87, v64){
+ };v76.push(v84);return wffBMUtil.f14(v76);};this.f13 = function(v92, v87, v64){
var v76 = [];var tUtf8Bytes = encoder.encode("T");var cUtf8Bytes = encoder.encode("UA");var v46 = {
'name' : tUtf8Bytes,
'values' : [ cUtf8Bytes ]
- };v76.push(v46);var v24 = encoder.encode(v91 + "="
+ };v76.push(v46);var v24 = encoder.encode(v92 + "="
+ v87);var v84 = {
'name' : wffBMUtil.f16(v64),
'values' : [ v24 ]
@@ -314,70 +322,70 @@ public class WffJsFileTest {
return decoder.decode(new Uint8Array(utf8Bytes));};var f45 = function(v76){
var v46 = v76[0];var taskValue = v46.values[0][0];if(taskValue == wffGlobal.taskValues.ATTRIBUTE_UPDATED){
for (var i = 1; i < v76.length; i++){
- var v56 = wffTagUtil.f1(v76[i].name);var v91 = v56[0];var v87 = v56[1];var v98 = v76[i].values;for (var j = 0; j < v98.length; j++){
- var v99 = wffTagUtil.f24(v98[j]);var v49 = wffTagUtil.f41(v99);v49[v91] = v87;v49.setAttribute(v91, v87);}
+ var v56 = wffTagUtil.f1(v76[i].name);var v92 = v56[0];var v87 = v56[1];var v99 = v76[i].values;for (var j = 0; j < v99.length; j++){
+ var v100 = wffTagUtil.f24(v99[j]);var v49 = wffTagUtil.f41(v100);v49[v92] = v87;v49.setAttribute(v92, v87);}
}
}
else if(taskValue == wffGlobal.taskValues.APPENDED_CHILD_TAG
|| taskValue == wffGlobal.taskValues.APPENDED_CHILDREN_TAGS){
for (var i = 1; i < v76.length; i++){
- var v99 = wffTagUtil
- .f24(v76[i].name);var values = v76[i].values;var tagName = wffTagUtil.f5(values[0]);var parent = wffTagUtil.f17(tagName, v99);for (var j = 1; j < values.length; j++){
+ var v100 = wffTagUtil
+ .f24(v76[i].name);var values = v76[i].values;var tagName = wffTagUtil.f5(values[0]);var parent = wffTagUtil.f17(tagName, v100);for (var j = 1; j < values.length; j++){
var v89 = wffTagUtil
.f19(values[j]);parent.appendChild(v89);}
}
}else if(taskValue == wffGlobal.taskValues.REMOVED_TAGS){
for (var i = 1; i < v76.length; i++){
- var v99 = wffTagUtil
+ var v100 = wffTagUtil
.f24(v76[i].name);var values = v76[i].values;var tagName = wffTagUtil.f5(values[0]);var v63 = wffTagUtil.f17(tagName,
- v99);var parent = v63.parentNode;parent.removeChild(v63);}
+ v100);var parent = v63.parentNode;parent.removeChild(v63);}
}else if(taskValue == wffGlobal.taskValues.REMOVED_ALL_CHILDREN_TAGS){
for (var i = 1; i < v76.length; i++){
- var v99 = wffTagUtil
+ var v100 = wffTagUtil
.f24(v76[i].name);var values = v76[i].values;var tagName = wffTagUtil.f5(values[0]);var parentTag = wffTagUtil.f17(tagName,
- v99);while (parentTag.firstChild){
+ v100);while (parentTag.firstChild){
parentTag.removeChild(parentTag.firstChild);}
}
}else if(taskValue == wffGlobal.taskValues.MOVED_CHILDREN_TAGS){
for (var i = 1; i < v76.length; i++){
var v25 = wffTagUtil
.f24(v76[i].name);var values = v76[i].values;var v17 = wffTagUtil.f5(values[0]);var v33 = wffTagUtil.f17(
- v17, v25);var v92 = null;if(values[2].length == 0){
- v92 = wffTagUtil.f19(values[3]);}else{
- var v58 = wffTagUtil.f5(values[2]);var v73 = wffTagUtil.f24(values[1]);v92 = wffTagUtil.f17(v58,
- v73);if(typeof v92 !== 'undefined'){
- var previousParent = v92.parentNode;if(typeof previousParent !== 'undefined'){
- previousParent.removeChild(v92);}
+ v17, v25);var v93 = null;if(values[2].length == 0){
+ v93 = wffTagUtil.f19(values[3]);}else{
+ var v58 = wffTagUtil.f5(values[2]);var v73 = wffTagUtil.f24(values[1]);v93 = wffTagUtil.f17(v58,
+ v73);if(typeof v93 !== 'undefined'){
+ var previousParent = v93.parentNode;if(typeof previousParent !== 'undefined'){
+ previousParent.removeChild(v93);}
}else{
- v92 = wffTagUtil.f19(values[3]);}
+ v93 = wffTagUtil.f19(values[3]);}
}
- v33.appendChild(v92);}
+ v33.appendChild(v93);}
}else if(taskValue == wffGlobal.taskValues.ADDED_ATTRIBUTES){
for (var i = 1; i < v76.length; i++){
var v84 = v76[i];if(v84.name[0] == wffGlobal.taskValues.MANY_TO_ONE){
- var tagName = wffTagUtil.f5(v84.values[0]);var v99 = wffTagUtil
+ var tagName = wffTagUtil.f5(v84.values[0]);var v100 = wffTagUtil
.f24(v84.values[1]);var v49 = wffTagUtil.f17(
- tagName, v99);for (var j = 2; j < v84.values.length; j++){
- var v56 = wffTagUtil.f1(v84.values[j]);var v91 = v56[0];var v87 = v56[1];v49[v91] = v87;v49.setAttribute(v91, v87);}
+ tagName, v100);for (var j = 2; j < v84.values.length; j++){
+ var v56 = wffTagUtil.f1(v84.values[j]);var v92 = v56[0];var v87 = v56[1];v49[v92] = v87;v49.setAttribute(v92, v87);}
}
}
}else if(taskValue == wffGlobal.taskValues.REMOVED_ATTRIBUTES){
for (var i = 1; i < v76.length; i++){
var v84 = v76[i];if(v84.name[0] == wffGlobal.taskValues.MANY_TO_ONE){
- var tagName = wffTagUtil.f5(v84.values[0]);var v99 = wffTagUtil
+ var tagName = wffTagUtil.f5(v84.values[0]);var v100 = wffTagUtil
.f24(v84.values[1]);var v49 = wffTagUtil.f17(
- tagName, v99);for (var j = 2; j < v84.values.length; j++){
- var v91 = wffTagUtil.getAttrNameFromCompressedBytes(v84.values[j]);v49.removeAttribute(v91);if(wffGlobal.NDXD_BLN_ATRBS.indexOf(v91) != -1){
- var prop = v49[v91];if(prop && prop === true){
- v49[v91] = false;}
+ tagName, v100);for (var j = 2; j < v84.values.length; j++){
+ var v92 = wffTagUtil.getAttrNameFromCompressedBytes(v84.values[j]);v49.removeAttribute(v92);if(wffGlobal.NDXD_BLN_ATRBS.indexOf(v92) != -1){
+ var prop = v49[v92];if(prop && prop === true){
+ v49[v92] = false;}
}
}
}
}
}else if(taskValue == wffGlobal.taskValues.ADDED_INNER_HTML){
- var tagName = wffTagUtil.f5(v76[1].name);var v99 = wffTagUtil
+ var tagName = wffTagUtil.f5(v76[1].name);var v100 = wffTagUtil
.f24(v76[1].values[0]);var parentTag = wffTagUtil.f17(tagName,
- v99);while (parentTag.firstChild){
+ v100);while (parentTag.firstChild){
parentTag.removeChild(parentTag.firstChild);}
for (var i = 2; i < v76.length; i++){
var values = v76[i].values;var v89 = wffTagUtil.f19(v76[i].name);if(values.length == 1 && values[0].length == 1){
@@ -388,7 +396,7 @@ else if(taskValue == wffGlobal.taskValues.APPENDED_CHILD_TAG
}
parentTag.appendChild(v89);}
}else if(taskValue == wffGlobal.taskValues.INSERTED_BEFORE_TAG){
- var tagName = wffTagUtil.f5(v76[1].name);var v99 = wffTagUtil.f24(v76[1].values[0]);var parentTag = wffTagUtil.f17(tagName, v99);var v50 = wffTagUtil.f5(v76[2].name);var v86;if(v50 === '#'){
+ var tagName = wffTagUtil.f5(v76[1].name);var v100 = wffTagUtil.f24(v76[1].values[0]);var parentTag = wffTagUtil.f17(tagName, v100);var v50 = wffTagUtil.f5(v76[2].name);var v86;if(v50 === '#'){
var v20 = v76[2].values[0];v86 = wffTagUtil.f22(parentTag, v20);}else{
var v42 = wffTagUtil.f24(v76[2].values[0]);v86 = wffTagUtil.f17(v50,
v42);}
@@ -396,10 +404,11 @@ else if(taskValue == wffGlobal.taskValues.APPENDED_CHILD_TAG
var nm = v76[i].name;var values = v76[i].values;var v89 = wffTagUtil.f19(values[0]);if(nm.length == 1){
var existingTag = wffTagUtil.f17(
v89.nodeName, v89
- .getAttribute("data-wff-id"));var v21 = existingTag.parentNode;v21.removeChild(existingTag);}
+ .getAttribute("data-wff-id"));var v21 = existingTag.parentNode;if(v21){v21.removeChild(existingTag);}
+ }
parentTag.insertBefore(v89, v86);}
}else if(taskValue == wffGlobal.taskValues.INSERTED_AFTER_TAG){
- var tagName = wffTagUtil.f5(v76[1].name);var v99 = wffTagUtil.f24(v76[1].values[0]);var parentTag = wffTagUtil.f17(tagName, v99);var v50 = wffTagUtil.f5(v76[2].name);var v86;if(v50 === '#'){
+ var tagName = wffTagUtil.f5(v76[1].name);var v100 = wffTagUtil.f24(v76[1].values[0]);var parentTag = wffTagUtil.f17(tagName, v100);var v50 = wffTagUtil.f5(v76[2].name);var v86;if(v50 === '#'){
var v20 = v76[2].values[0];v86 = wffTagUtil.f22(parentTag, v20);}else{
var v42 = wffTagUtil.f24(v76[2].values[0]);v86 = wffTagUtil.f17(v50,
v42);}
@@ -407,14 +416,15 @@ else if(taskValue == wffGlobal.taskValues.APPENDED_CHILD_TAG
var nm = v76[i].name;var values = v76[i].values;var v89 = wffTagUtil.f19(values[0]);if(nm.length == 1){
var existingTag = wffTagUtil.f17(
v89.nodeName, v89
- .getAttribute("data-wff-id"));var v21 = existingTag.parentNode;v21.removeChild(existingTag);}
+ .getAttribute("data-wff-id"));var v21 = existingTag.parentNode;if(v21){v21.removeChild(existingTag);}
+ }
parentTag.insertBefore(v89, v86);if(!firstNd){
firstNd = v89;}
}
if(firstNd){
parentTag.removeChild(v86);parentTag.insertBefore(v86, firstNd);}
}else if(taskValue == wffGlobal.taskValues.REPLACED_WITH_TAGS){
- var tagName = wffTagUtil.f5(v76[1].name);var v99 = wffTagUtil.f24(v76[1].values[0]);var parentTag = wffTagUtil.f17(tagName, v99);var v50 = wffTagUtil.f5(v76[2].name);var v86;if(v50 === '#'){
+ var tagName = wffTagUtil.f5(v76[1].name);var v100 = wffTagUtil.f24(v76[1].values[0]);var parentTag = wffTagUtil.f17(tagName, v100);var v50 = wffTagUtil.f5(v76[2].name);var v86;if(v50 === '#'){
var v20 = v76[2].values[0];v86 = wffTagUtil.f22(parentTag, v20);}else{
var v42 = wffTagUtil.f24(v76[2].values[0]);v86 = wffTagUtil.f17(v50,
v42);}
@@ -569,19 +579,19 @@ else if(taskValue == wffGlobal.taskValues.APPENDED_CHILD_TAG
}
}
}else if(taskValue == wffGlobal.taskValues.COPY_INNER_TEXT_TO_VALUE){
- var tagName = wffTagUtil.f5(v76[1].name);var v99 = wffTagUtil
+ var tagName = wffTagUtil.f5(v76[1].name);var v100 = wffTagUtil
.f24(v76[1].values[0]);var parentTag = wffTagUtil.f17(tagName,
- v99);var d = document.createElement('div');d.innerHTML = parentTag.outerHTML;parentTag.value = d.childNodes[0].innerText;}else if(taskValue == wffGlobal.taskValues.SET_BM_OBJ_ON_TAG
+ v100);var d = document.createElement('div');d.innerHTML = parentTag.outerHTML;parentTag.value = d.childNodes[0].innerText;}else if(taskValue == wffGlobal.taskValues.SET_BM_OBJ_ON_TAG
|| taskValue == wffGlobal.taskValues.SET_BM_ARR_ON_TAG){
- var tagName = wffTagUtil.f5(v76[1].name);var v99 = wffTagUtil
- .f24(v76[1].values[0]);var tag = wffTagUtil.f17(tagName, v99);var ky = f31(v76[1].values[1]);var v38 = v76[1].values[2];var jsObjOrArr;if(taskValue == wffGlobal.taskValues.SET_BM_OBJ_ON_TAG){
+ var tagName = wffTagUtil.f5(v76[1].name);var v100 = wffTagUtil
+ .f24(v76[1].values[0]);var tag = wffTagUtil.f17(tagName, v100);var ky = f31(v76[1].values[1]);var v38 = v76[1].values[2];var jsObjOrArr;if(taskValue == wffGlobal.taskValues.SET_BM_OBJ_ON_TAG){
jsObjOrArr = new JsObjectFromBMBytes(v38, true);}else{
jsObjOrArr = new JsArrayFromBMBytes(v38, true);}
var wffObjects = tag['wffObjects'];if(typeof wffObjects === 'undefined'){
wffObjects = {};tag['wffObjects'] = wffObjects;}
wffObjects[ky] = jsObjOrArr;}else if(taskValue == wffGlobal.taskValues.DEL_BM_OBJ_OR_ARR_FROM_TAG){
- var tagName = wffTagUtil.f5(v76[1].name);var v99 = wffTagUtil
- .f24(v76[1].values[0]);var tag = wffTagUtil.f17(tagName, v99);var ky = f31(v76[1].values[1]);var wffObjects = tag['wffObjects'];if(typeof wffObjects !== 'undefined'){
+ var tagName = wffTagUtil.f5(v76[1].name);var v100 = wffTagUtil
+ .f24(v76[1].values[0]);var tag = wffTagUtil.f17(tagName, v100);var ky = f31(v76[1].values[1]);var wffObjects = tag['wffObjects'];if(typeof wffObjects !== 'undefined'){
delete wffObjects[ky];}
}
return true;};this.f43 = function(v79){
@@ -594,9 +604,9 @@ else if(taskValue == wffGlobal.taskValues.APPENDED_CHILD_TAG
return true;};this.f30 = function(v79){
var v84 = wffBMUtil.f10(v79)[1];};};
var wffTaskUtil = new function (){
- var encoder = wffGlobal.encoder;this.f35 = function(v93, valueByte){
+ var encoder = wffGlobal.encoder;this.f35 = function(v94, valueByte){
var v46 = {
- 'name' : [v93],
+ 'name' : [v94],
'values' : [ [valueByte] ]
};return v46;};};var wffServerMethods = new function (){
var encoder = wffGlobal.encoder;var f25 = function(v70){
@@ -631,7 +641,7 @@ else if(taskValue == wffGlobal.taskValues.APPENDED_CHILD_TAG
if(prvntDflt){
event.preventDefault();}
var invoked = false;var actionPerform = function(){
- invoked = true;var v46 = wffTaskUtil.f35(wffGlobal.taskValues.TASK, wffGlobal.taskValues.INVOKE_ASYNC_METHOD);var v88 = f25(v70);var jsObject = filterFun(event, tag);var v32 = new WffBMObject(jsObject);var v94 = v32.getBMBytes();var v84 = {'name':wffTagUtil.f26(tag), 'values':[v88, v94]};var v76 = [v46, v84];var wffBM = wffBMUtil.f14(v76);wffWS.send(wffBM);};var action = new function(){
+ invoked = true;var v46 = wffTaskUtil.f35(wffGlobal.taskValues.TASK, wffGlobal.taskValues.INVOKE_ASYNC_METHOD);var v88 = f25(v70);var jsObject = filterFun(event, tag);var v32 = new WffBMObject(jsObject);var v95 = v32.getBMBytes();var v84 = {'name':wffTagUtil.f26(tag), 'values':[v88, v95]};var v76 = [v46, v84];var wffBM = wffBMUtil.f14(v76);wffWS.send(wffBM);};var action = new function(){
this.perform = function(){
actionPerform();};};if(preFun(event, tag, action)){
if(!invoked){
@@ -642,7 +652,7 @@ else if(taskValue == wffGlobal.taskValues.APPENDED_CHILD_TAG
f6(event, tag, v70, preFun, filterFun, false);};this.g = invokeAsyncWithPreFilterFun;var f11 = function(event, tag, v70, filterFun, prvntDflt){
if(prvntDflt){
event.preventDefault();}
- var v46 = wffTaskUtil.f35(wffGlobal.taskValues.TASK, wffGlobal.taskValues.INVOKE_ASYNC_METHOD);var v88 = f25(v70);var jsObject = filterFun(event, tag);var v32 = new WffBMObject(jsObject);var v94 = v32.getBMBytes();var v84 = {'name':wffTagUtil.f26(tag), 'values':[v88, v94]};var v76 = [v46, v84];var wffBM = wffBMUtil.f14(v76);wffWS.send(wffBM);};this.d = function(event, tag, v70, filterFun){
+ var v46 = wffTaskUtil.f35(wffGlobal.taskValues.TASK, wffGlobal.taskValues.INVOKE_ASYNC_METHOD);var v88 = f25(v70);var jsObject = filterFun(event, tag);var v32 = new WffBMObject(jsObject);var v95 = v32.getBMBytes();var v84 = {'name':wffTagUtil.f26(tag), 'values':[v88, v95]};var v76 = [v46, v84];var wffBM = wffBMUtil.f14(v76);wffWS.send(wffBM);};this.d = function(event, tag, v70, filterFun){
f11(event, tag, v70, filterFun, true);};var invokeAsyncWithFilterFun = function(event, tag, v70, filterFun){
f11(event, tag, v70, filterFun, false);};this.c = invokeAsyncWithFilterFun;};var wffSM = wffServerMethods;
var wffClientMethods = new function(){
@@ -865,7 +875,7 @@ else if(taskValue == wffGlobal.taskValues.APPENDED_CHILD_TAG
wffGlobal.taskValues.TASK,
wffGlobal.taskValues.INVOKE_CUSTOM_SERVER_METHOD);var v36 = encoder.encode(v81);var values = [];if(typeof jsObject !== "undefined"){
if(typeof jsObject === "object"){
- var v32 = new WffBMObject(jsObject);var v94 = v32.getBMBytes();values.push(v94);}else{
+ var v32 = new WffBMObject(jsObject);var v95 = v32.getBMBytes();values.push(v95);}else{
throw "argument value should be an object";}
}
var v84 = {
@@ -882,9 +892,9 @@ else if(taskValue == wffGlobal.taskValues.APPENDED_CHILD_TAG
wffGlobal.taskValues.CLIENT_PATHNAME_CHANGED);var v84 = {
'name': encoder.encode(uri),
'values': []
- };var v97 = rplc ? 1 : 0;if(typeof initiator !== "undefined" && initiator >= 0 && initiator < wffGlobal.uriEventInitiator.size){
- v84.values.push([initiator, v97]);}else{
- v84.values.push([wffGlobal.uriEventInitiator.CLIENT_CODE, v97]);}
+ };var v98 = rplc ? 1 : 0;if(typeof initiator !== "undefined" && initiator >= 0 && initiator < wffGlobal.uriEventInitiator.size){
+ v84.values.push([initiator, v98]);}else{
+ v84.values.push([wffGlobal.uriEventInitiator.CLIENT_CODE, v98]);}
var v76 = [v46, v84];if(callback){
var v47 = wffAsync.generateUUID();wffAsync.v27[v47] = callback;var v15 = {
'name': encoder.encode(v47),
@@ -996,12 +1006,27 @@ else if(taskValue == wffGlobal.taskValues.APPENDED_CHILD_TAG
return;}
var binary = new Int8Array(event.data);if(binary.length < 4){
return;}
- wffClientCRUDUtil.f43(binary);}catch(e){
+ if((wffGlobal.LOSSLESS_COMM || binary[0] == 0) && binary.length > 4){
+ var v90 = wffBMUtil.f15([binary[0], binary[1], binary[2], binary[3]]);if(v90 != 0 && v90 != wffGlobal.getUniqueServerSidePayloadId()){
+ wffGlobal.onPayloadLoss();}else{
+ var bin = [];for (var i = 4; i < binary.length; i++){
+ bin.push(binary[i]);}
+ wffClientCRUDUtil.f43(bin);}
+ }else{
+ wffClientCRUDUtil.f43(binary);}
+ }catch(e){
wffLog(e);}
};webSocket.onmessage = function(event){
try {
var binary = new Int8Array(event.data);if(binary.length < 4){
return;}
+ if((wffGlobal.LOSSLESS_COMM || binary[0] == 0) && binary.length > 4){
+ var v90 = wffBMUtil.f15([binary[0], binary[1], binary[2], binary[3]]);if(v90 != 0 && v90 != wffGlobal.getUniqueServerSidePayloadId()){
+ wffGlobal.onPayloadLoss();return;}else{
+ var bin = [];for (var i = 4; i < binary.length; i++){
+ bin.push(binary[i]);}
+ binary = bin;}
+ }
var executed = wffClientMethods.exePostFun(binary);if(!executed){
wffClientCRUDUtil.f43(binary);}
}catch(e){
@@ -1017,7 +1042,11 @@ else if(taskValue == wffGlobal.taskValues.APPENDED_CHILD_TAG
};};
this.send = function(bytes){
if(bytes.length > 0){
- inDataQ.push(bytes);if(sendQData !== null){
+ var bin = bytes;if(wffGlobal.LOSSLESS_COMM && bin.length > 4){
+ bin = wffBMUtil.f40(wffGlobal.getUniqueClientSidePayloadId());for (var i = 0; i < bytes.length; i++){
+ bin.push(bytes[i]);}
+ }
+ inDataQ.push(bin);if(sendQData !== null){
sendQData();}
}else{
webSocket.send(new Int8Array(bytes).buffer);}
@@ -1121,8 +1150,11 @@ public void testGetAllOptimizedContent() {
final int endOfNodeId = expectedContent.indexOf(";", indexOfNodeId);
final String expectedContentDynamicValueAdjusted = expectedContent.replace(
expectedContent.substring(indexOfNodeId, endOfNodeId + 1), "this.NODE_ID = \"xxxxxxxxxxxxxxx\";");
+ final boolean losslessCommunication = true;
+ final String onLossyCommunicationJS = losslessCommunication ? "location.reload()" : "";
final String allContent = WffJsFile.getAllOptimizedContent("ws://webfirmframework.com",
- "instance-id-1234585-451", true, true, 1000, 2000, false);
+ "instance-id-1234585-451", true, true, 1000, 2000, false, losslessCommunication,
+ onLossyCommunicationJS);
// just for modifying expectedContent after dev changes
// assertEquals(expectedContent, allContent);
assertEquals(expectedContentDynamicValueAdjusted, allContent
diff --git a/wffweb/src/test/java/com/webfirmframework/wffweb/server/page/BrowserPageTest.java b/wffweb/src/test/java/com/webfirmframework/wffweb/server/page/BrowserPageTest.java
index 9c7afa292..a230c1e21 100644
--- a/wffweb/src/test/java/com/webfirmframework/wffweb/server/page/BrowserPageTest.java
+++ b/wffweb/src/test/java/com/webfirmframework/wffweb/server/page/BrowserPageTest.java
@@ -31,6 +31,8 @@
import java.util.concurrent.ConcurrentLinkedDeque;
import java.util.concurrent.ConcurrentLinkedQueue;
+import com.webfirmframework.wffweb.common.SampleBrowserPage;
+import com.webfirmframework.wffweb.server.page.BrowserPage.Settings;
import com.webfirmframework.wffweb.tag.html.attribute.event.ServerMethod;
import org.junit.Assert;
import org.junit.Test;
@@ -377,6 +379,20 @@ record RecordData(InputStream inputStream, OutputStream outputStream) {
assertEquals(result, returnedResult);
}
+
+ @Test
+ public void testSettings() {
+ SampleBrowserPage sampleBrowserPage = new SampleBrowserPage();
+ Settings defaultSettings = sampleBrowserPage.getDefaultSettings();
+ assertEquals(defaultSettings.inputBufferLimit(), sampleBrowserPage.getSettings().inputBufferLimit());
+ assertEquals(defaultSettings.inputBufferTimeout(), sampleBrowserPage.getSettings().inputBufferTimeout());
+ assertEquals(defaultSettings.outputBufferLimit(), sampleBrowserPage.getSettings().outputBufferLimit());
+ assertEquals(defaultSettings.outputBufferTimeout(), sampleBrowserPage.getSettings().outputBufferTimeout());
+ assertNotEquals(defaultSettings.onPayloadLoss(), sampleBrowserPage.getSettings().onPayloadLoss());
+ assertNotEquals(defaultSettings.onPayloadLoss().serverSideAction(), sampleBrowserPage.getSettings().onPayloadLoss().serverSideAction());
+
+ assertEquals(defaultSettings.onPayloadLoss().javaScript(), sampleBrowserPage.getSettings().onPayloadLoss().javaScript());
+ }
}
diff --git a/wffweb/src/test/java/com/webfirmframework/wffweb/server/page/ExternalDriveClientTasksWrapperDequeTest.java b/wffweb/src/test/java/com/webfirmframework/wffweb/server/page/ExternalDriveClientTasksWrapperDequeTest.java
index 084287168..a96d36fd7 100644
--- a/wffweb/src/test/java/com/webfirmframework/wffweb/server/page/ExternalDriveClientTasksWrapperDequeTest.java
+++ b/wffweb/src/test/java/com/webfirmframework/wffweb/server/page/ExternalDriveClientTasksWrapperDequeTest.java
@@ -19,6 +19,7 @@
import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
+import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -166,8 +167,11 @@ public void testOfferFirstException() {
@Test
public void testClear() {
try {
+ Path tempDirectory = Files.createTempDirectory(this.getClass().getSimpleName());
final ExternalDriveClientTasksWrapperDeque q = new ExternalDriveClientTasksWrapperDeque(
- Files.createTempDirectory(this.getClass().getSimpleName()).toString(), dirName, "in");
+ tempDirectory.toString(), dirName, "in");
+
+ final Path pathOfDataFilesDir = Path.of(tempDirectory.toString(), dirName, "in");
for (int i = 0; i < 100; i++) {
final String first = "first string " + i;
@@ -183,6 +187,11 @@ public void testClear() {
q.offerLast(wrapper);
}
+
+ long totalFilesInDir = Files.list(pathOfDataFilesDir).count();
+
+ Assert.assertEquals(100, totalFilesInDir);
+
Assert.assertEquals(100, q.size());
q.offerFirst(q.poll());
@@ -197,6 +206,11 @@ public void testClear() {
q.clear();
+ totalFilesInDir = Files.list(pathOfDataFilesDir).count();
+
+ Assert.assertEquals(0, totalFilesInDir);
+ Assert.assertEquals(q.size(), totalFilesInDir);
+
Assert.assertNull(q.poll());
Assert.assertTrue(q.isEmpty());
@@ -207,5 +221,57 @@ public void testClear() {
Assert.fail("testExternalDriveClientTasksWrapperDeque failed due to IOException");
}
}
+
+ @Test
+ public void testPoll() {
+ try {
+ final ExternalDriveClientTasksWrapperDeque q = new ExternalDriveClientTasksWrapperDeque(
+ Files.createTempDirectory(this.getClass().getSimpleName()).toString(), dirName, "in");
+
+ for (int i = 0; i < 5; i++) {
+ final String first = "first string " + i;
+ final String second = "second string " + i;
+ final String third = "third string " + i;
+ final String fourth = "fourth string " + i;
+ final ClientTasksWrapper wrapper = new ClientTasksWrapper(
+ ByteBuffer.wrap(first.getBytes(StandardCharsets.UTF_8)),
+ ByteBuffer.wrap(second.getBytes(StandardCharsets.UTF_8)),
+ ByteBuffer.wrap(third.getBytes(StandardCharsets.UTF_8)),
+ ByteBuffer.wrap(fourth.getBytes(StandardCharsets.UTF_8)));
+
+ q.offerLast(wrapper);
+ }
+
+ Assert.assertEquals(5, q.size());
+
+ q.offerFirst(q.poll());
+ q.offerFirst(q.poll());
+
+ Assert.assertEquals(5, q.size());
+
+ Assert.assertFalse(q.isEmpty());
+
+ ClientTasksWrapper wrapper;
+ int i = 0;
+ while ((wrapper = q.poll()) != null) {
+ String firstString = new String(wrapper.tasks().get(0).array());
+ String secondString = new String(wrapper.tasks().get(1).array());
+ String thirdString = new String(wrapper.tasks().get(2).array());
+ String fourthString = new String(wrapper.tasks().get(3).array());
+ Assert.assertEquals("first string " + i, firstString);
+ Assert.assertEquals("second string " + i, secondString);
+ Assert.assertEquals("third string " + i, thirdString);
+ Assert.assertEquals("fourth string " + i, fourthString);
+ i++;
+ }
+
+ Assert.assertNull(q.pollFirst());
+
+ q.deleteBaseDirStructure();
+ } catch (final IOException e) {
+ e.printStackTrace();
+ Assert.fail("testExternalDriveClientTasksWrapperDeque failed due to IOException");
+ }
+ }
}
diff --git a/wffweb/src/test/java/com/webfirmframework/wffweb/server/page/action/BrowserPageActionTest.java b/wffweb/src/test/java/com/webfirmframework/wffweb/server/page/action/BrowserPageActionTest.java
new file mode 100644
index 000000000..3a24d607a
--- /dev/null
+++ b/wffweb/src/test/java/com/webfirmframework/wffweb/server/page/action/BrowserPageActionTest.java
@@ -0,0 +1,17 @@
+package com.webfirmframework.wffweb.server.page.action;
+
+import org.junit.Test;
+
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+
+import static org.junit.Assert.*;
+
+public class BrowserPageActionTest {
+
+ @Test
+ public void getActionByteBuffer() {
+ ByteBuffer actionByteBuffer = BrowserPageAction.RELOAD.getActionByteBuffer();
+ assertArrayEquals(new byte[] {0, 0, 0, 0, 1, 1, 1, 3, 2, 1, 21}, actionByteBuffer.array());
+ }
+}
\ No newline at end of file
diff --git a/wffweb/src/test/java/com/webfirmframework/wffweb/util/WffBinaryMessageUtilTest.java b/wffweb/src/test/java/com/webfirmframework/wffweb/util/WffBinaryMessageUtilTest.java
index 5b9aada90..be8f0076a 100644
--- a/wffweb/src/test/java/com/webfirmframework/wffweb/util/WffBinaryMessageUtilTest.java
+++ b/wffweb/src/test/java/com/webfirmframework/wffweb/util/WffBinaryMessageUtilTest.java
@@ -23,6 +23,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.math.BigInteger;
+import java.nio.ByteBuffer;
import java.util.Arrays;
import java.util.HashMap;
import java.util.LinkedList;
@@ -80,8 +81,9 @@ public void testParse1() {
nameValues.add(new NameValue("name3".getBytes(), new byte[][]{"value3".getBytes(), "value41".getBytes()}));
byte[] message = WffBinaryMessageUtil.VERSION_1.getWffBinaryMessageBytes(nameValues);
-
- List actualNameValues = WffBinaryMessageUtil.VERSION_1.parse(message);
+
+ byte[] modifiedMessage = ByteBuffer.allocate(message.length + 8).put(new byte[4]).put(message).put(new byte[4]).rewind().array();
+ List actualNameValues = WffBinaryMessageUtil.VERSION_1.parse(modifiedMessage, 4, modifiedMessage.length - 8);
for (int i = 0; i < actualNameValues.size(); i++) {
@@ -90,7 +92,7 @@ public void testParse1() {
NameValue actualNameValue = actualNameValues.get(i);
assertArrayEquals(expectedNameValue.getName(), actualNameValue.getName());
-
+
final byte[][] values = expectedNameValue.getValues();
for (int j = 0; j < values.length; j++) {