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 <[email protected]> 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:
