You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by tv...@apache.org on 2026/02/09 18:01:26 UTC
(commons-jcs) 04/05: More immutable records
This is an automated email from the ASF dual-hosted git repository.
tv pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-jcs.git
commit 8a573b9bc4d9ba593b0934122fe7a433c55e8e22
Author: Thomas Vandahl <tv...@apache.org>
AuthorDate: Mon Feb 9 18:56:27 2026 +0100
More immutable records
---
.../jcs4/engine/control/event/ElementEvent.java | 68 +++-------------------
.../control/event/behavior/IElementEvent.java | 10 ++--
.../control/event/ElementEventHandlerMockImpl.java | 14 ++---
.../control/event/SimpleEventHandlingUnitTest.java | 2 +-
.../commons/jcs4/jcache/EvictionListener.java | 2 +-
5 files changed, 21 insertions(+), 75 deletions(-)
diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/control/event/ElementEvent.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/control/event/ElementEvent.java
index e0351f61..60b77953 100644
--- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/control/event/ElementEvent.java
+++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/control/event/ElementEvent.java
@@ -1,26 +1,5 @@
package org.apache.commons.jcs4.engine.control.event;
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.EventObject;
-
import org.apache.commons.jcs4.engine.control.event.behavior.ElementEventType;
import org.apache.commons.jcs4.engine.control.event.behavior.IElementEvent;
@@ -28,47 +7,14 @@ import org.apache.commons.jcs4.engine.control.event.behavior.IElementEvent;
* Element events will trigger the creation of Element Event objects. This is a wrapper around the
* cache element that indicates the event triggered.
*/
-public class ElementEvent<T>
- extends EventObject
- implements IElementEvent<T>
+public record ElementEvent<T>(
+ /** Event source */
+ T source,
+
+ /** Default event code */
+ ElementEventType elementEventType
+) implements IElementEvent<T>
{
/** Don't change */
private static final long serialVersionUID = -5364117411457467056L;
-
- /** Default event code */
- private ElementEventType elementEvent = ElementEventType.EXCEEDED_MAXLIFE_BACKGROUND;
-
- /**
- * Constructor for the ElementEvent object
- *
- * @param source The Cache Element
- * @param elementEvent The event id defined in the enum class.
- */
- public ElementEvent( final T source, final ElementEventType elementEvent )
- {
- super( source );
- this.elementEvent = elementEvent;
- }
-
- /**
- * Gets the elementEvent attribute of the ElementEvent object
- *
- * @return The elementEvent value. The List of values is defined in ElementEventType.
- */
- @Override
- public ElementEventType getElementEvent()
- {
- return elementEvent;
- }
-
- /**
- * @return the source of the event.
- */
- @SuppressWarnings("unchecked") // Generified
- @Override
- public T getSource()
- {
- return (T) super.getSource();
-
- }
}
diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/control/event/behavior/IElementEvent.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/control/event/behavior/IElementEvent.java
index c5482a13..66583c6f 100644
--- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/control/event/behavior/IElementEvent.java
+++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/control/event/behavior/IElementEvent.java
@@ -28,15 +28,15 @@ public interface IElementEvent<T>
extends Serializable
{
/**
- * Gets the elementEvent attribute of the IElementEvent object. This code is Contained in the
- * IElememtEventConstants class.
+ * Gets the elementEvent attribute of the IElementEvent object. This code is contained in the
+ * ElementEventType class.
*
- * @return The elementEvent value
+ * @return The elementEventType value
*/
- ElementEventType getElementEvent();
+ ElementEventType elementEventType();
/**
* @return the source of the event.
*/
- T getSource();
+ T source();
}
diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/control/event/ElementEventHandlerMockImpl.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/control/event/ElementEventHandlerMockImpl.java
index 8c1d3a01..8a958ad2 100644
--- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/control/event/ElementEventHandlerMockImpl.java
+++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/control/event/ElementEventHandlerMockImpl.java
@@ -108,27 +108,27 @@ public class ElementEventHandlerMockImpl
if ( log.isDebugEnabled() )
{
- log.debug( "HANDLER -- HANDLER -- HANDLER -- ---EVENT CODE = " + event.getElementEvent() );
- log.debug( "/n/n EVENT CODE = " + event.getElementEvent() + " ***************************" );
+ log.debug( "HANDLER -- HANDLER -- HANDLER -- ---EVENT CODE = " + event.elementEventType() );
+ log.debug( "/n/n EVENT CODE = " + event.elementEventType() + " ***************************" );
}
- if ( event.getElementEvent() == ElementEventType.SPOOLED_DISK_AVAILABLE )
+ if ( event.elementEventType() == ElementEventType.SPOOLED_DISK_AVAILABLE )
{
setSpoolCount( getSpoolCount() + 1 );
}
- else if ( event.getElementEvent() == ElementEventType.SPOOLED_NOT_ALLOWED )
+ else if ( event.elementEventType() == ElementEventType.SPOOLED_NOT_ALLOWED )
{
setSpoolNotAllowedCount( getSpoolNotAllowedCount() + 1 );
}
- else if ( event.getElementEvent() == ElementEventType.SPOOLED_DISK_NOT_AVAILABLE )
+ else if ( event.elementEventType() == ElementEventType.SPOOLED_DISK_NOT_AVAILABLE )
{
setSpoolNoDiskCount( getSpoolNoDiskCount() + 1 );
}
- else if ( event.getElementEvent() == ElementEventType.EXCEEDED_MAXLIFE_BACKGROUND )
+ else if ( event.elementEventType() == ElementEventType.EXCEEDED_MAXLIFE_BACKGROUND )
{
setExceededMaxLifeBackgroundCount( getExceededMaxLifeBackgroundCount() + 1 );
}
- else if ( event.getElementEvent() == ElementEventType.EXCEEDED_IDLETIME_BACKGROUND )
+ else if ( event.elementEventType() == ElementEventType.EXCEEDED_IDLETIME_BACKGROUND )
{
setExceededIdleTimeBackgroundCount( getExceededIdleTimeBackgroundCount() + 1 );
}
diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/control/event/SimpleEventHandlingUnitTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/control/event/SimpleEventHandlingUnitTest.java
index 5443c5cf..8476d3f3 100644
--- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/control/event/SimpleEventHandlingUnitTest.java
+++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/control/event/SimpleEventHandlingUnitTest.java
@@ -108,7 +108,7 @@ class SimpleEventHandlingUnitTest
//System.out.println( "Handling Event of Type " +
// event.getElementEvent() );
- switch (event.getElementEvent())
+ switch (event.elementEventType())
{
case SPOOLED_DISK_AVAILABLE:
//System.out.println( "Handling Event of Type
diff --git a/commons-jcs4-jcache/src/main/java/org/apache/commons/jcs4/jcache/EvictionListener.java b/commons-jcs4-jcache/src/main/java/org/apache/commons/jcs4/jcache/EvictionListener.java
index 6ba72fe8..9e1a1a3b 100644
--- a/commons-jcs4-jcache/src/main/java/org/apache/commons/jcs4/jcache/EvictionListener.java
+++ b/commons-jcs4-jcache/src/main/java/org/apache/commons/jcs4/jcache/EvictionListener.java
@@ -33,7 +33,7 @@ public class EvictionListener implements IElementEventHandler
@Override
public <T> void handleElementEvent(final IElementEvent<T> event)
{
- switch (event.getElementEvent())
+ switch (event.elementEventType())
{
case EXCEEDED_MAXLIFE_BACKGROUND:
case EXCEEDED_MAXLIFE_ONREQUEST: