You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by st...@apache.org on 2026/07/19 20:33:02 UTC
(openwebbeans) 02/02: OWB-1467 simplify code by using more modern Java patterns
This is an automated email from the ASF dual-hosted git repository.
asf-gitbox-commits pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/openwebbeans.git
commit cfc3137e4b0cb5823562c6c0e7defb881c19d21a
Author: Mark Struberg <st...@apache.org>
AuthorDate: Sun Jul 19 22:32:13 2026 +0200
OWB-1467 simplify code by using more modern Java patterns
---
.../webbeans/annotation/AnnotationManager.java | 8 ++---
.../java/org/apache/webbeans/boot/Bootstrap.java | 2 +-
.../creation/CdiInterceptorBeanBuilder.java | 3 +-
.../component/creation/InterceptorBeanBuilder.java | 4 +--
.../org/apache/webbeans/config/BeansDeployer.java | 2 +-
.../apache/webbeans/config/DefaultAnnotation.java | 23 ++++---------
.../webbeans/config/OwbTypeVariableImpl.java | 38 ++++++++--------------
.../InjectionPointConfiguratorImpl.java | 6 ++--
.../ObserverMethodConfiguratorImpl.java | 5 +--
.../webbeans/container/InjectionResolver.java | 4 +--
.../corespi/scanner/AbstractMetaDataDiscovery.java | 4 +--
.../corespi/scanner/xbean/OwbAnnotationFinder.java | 2 +-
.../webbeans/deployment/StereoTypeModel.java | 6 ++--
.../java/org/apache/webbeans/event/EventImpl.java | 2 +-
.../apache/webbeans/event/EventMetadataImpl.java | 2 +-
.../apache/webbeans/event/NotificationManager.java | 14 ++------
.../apache/webbeans/event/ObserverMethodImpl.java | 1 -
.../webbeans/inject/InjectableConstructor.java | 2 +-
.../apache/webbeans/inject/InjectableMethod.java | 2 +-
.../inject/impl/InjectionPointFactory.java | 2 +-
.../webbeans/inject/impl/InjectionPointImpl.java | 2 +-
.../webbeans/inject/instance/InstanceImpl.java | 5 +--
.../intercept/InterceptorResolutionService.java | 8 ++---
.../java/org/apache/webbeans/jms/JMSModel.java | 2 +-
.../webbeans/portable/AbstractAnnotated.java | 6 ++--
.../portable/AnnotatedConstructorImpl.java | 2 +-
.../webbeans/portable/AnnotatedTypeImpl.java | 2 +-
.../apache/webbeans/portable/InstanceProducer.java | 2 +-
.../LazyInterceptorDefinedInjectionTarget.java | 2 +-
.../events/generics/GProcessSyntheticBean.java | 1 -
.../generics/GProcessSyntheticObserverMethod.java | 1 -
.../webbeans/proxy/AbstractProxyFactory.java | 2 +-
.../proxy/InterceptorDecoratorProxyFactory.java | 2 +-
.../webbeans/proxy/NormalScopeProxyFactory.java | 4 +--
.../webbeans/proxy/SubclassProxyFactory.java | 2 +-
.../java/org/apache/webbeans/util/ClassUtil.java | 2 +-
.../org/apache/webbeans/util/GenericsUtil.java | 4 +--
.../webbeans/util/InjectionExceptionUtil.java | 2 +-
38 files changed, 69 insertions(+), 114 deletions(-)
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/annotation/AnnotationManager.java b/webbeans-impl/src/main/java/org/apache/webbeans/annotation/AnnotationManager.java
index 4cf49a2fc..a52810edb 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/annotation/AnnotationManager.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/annotation/AnnotationManager.java
@@ -149,7 +149,7 @@ public final class AnnotationManager
}
// check for stereotypes _explicitly_ declared on the bean class (not inherited)
- Annotation[] stereoTypes = getStereotypeMetaAnnotations(typeAnns.toArray(new Annotation[typeAnns.size()]));
+ Annotation[] stereoTypes = getStereotypeMetaAnnotations(typeAnns.toArray(new Annotation[0]));
Map<Class<? extends Annotation>, Annotation> annotationsFromSteretypes = new HashMap<>();
for (Annotation stereoType : stereoTypes)
{
@@ -368,7 +368,7 @@ public final class AnnotationManager
public Annotation[] getQualifierAnnotations(Annotation... annotations)
{
Set<Annotation> qualifiers = getQualifierAnnotations(Arrays.asList(annotations));
- return qualifiers.toArray(new Annotation[qualifiers.size()]);
+ return qualifiers.toArray(new Annotation[0]);
}
/**
@@ -726,7 +726,7 @@ public final class AnnotationManager
else if (annotType.equals(Named.class))
{
Named name = (Named) annotation;
- if (!name.value().equals(""))
+ if (!name.value().isEmpty())
{
throw new WebBeansConfigurationException("@StereoType annotation can not define @Named " +
"annotation with value");
@@ -902,7 +902,7 @@ public final class AnnotationManager
return repeatableMethodCache.computeIfAbsent(type, it -> Optional.ofNullable(resolveRepeatableMethod(it)));
}
- protected Method resolveRepeatableMethod(Class<?> type)
+ private Method resolveRepeatableMethod(Class<?> type)
{
Method value;
try
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/boot/Bootstrap.java b/webbeans-impl/src/main/java/org/apache/webbeans/boot/Bootstrap.java
index 143576371..d99cdded3 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/boot/Bootstrap.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/boot/Bootstrap.java
@@ -54,7 +54,7 @@ public class Bootstrap
long begin = System.currentTimeMillis();
containerLifecycle.startApplication(properties);
- Runtime.getRuntime().addShutdownHook(new Thread(() -> latch.countDown()));
+ Runtime.getRuntime().addShutdownHook(new Thread(latch::countDown));
log.log(Level.INFO, OWBLogConst.INFO_0001, Long.toString(System.currentTimeMillis() - begin));
latch.await();
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/CdiInterceptorBeanBuilder.java b/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/CdiInterceptorBeanBuilder.java
index 2533d6782..52e67eb84 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/CdiInterceptorBeanBuilder.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/CdiInterceptorBeanBuilder.java
@@ -28,6 +28,7 @@ import java.lang.annotation.ElementType;
import java.lang.annotation.Target;
import java.lang.reflect.Method;
import java.util.Collections;
+import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -80,7 +81,7 @@ public class CdiInterceptorBeanBuilder<T> extends InterceptorBeanBuilder<T, CdiI
for (Annotation a : interceptorBindings)
{
Target target = a.annotationType().getAnnotation(Target.class);
- if (target == null || !asList(target.value()).equals(asList(ElementType.TYPE)))
+ if (target == null || !asList(target.value()).equals(List.of(ElementType.TYPE)))
{
throw new WebBeansConfigurationException(
a.annotationType().getName() + " doesn't have strictly @Target(TYPE) but has lifecycle methods. " +
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/InterceptorBeanBuilder.java b/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/InterceptorBeanBuilder.java
index afef5b65a..ee23b91df 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/InterceptorBeanBuilder.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/InterceptorBeanBuilder.java
@@ -239,7 +239,7 @@ public abstract class InterceptorBeanBuilder<T, B extends InterceptorBean<T>> ex
if (aroundInvokeMethod != null)
{
interceptorFound = true;
- interceptionMethods.put(InterceptionType.AROUND_INVOKE, aroundInvokeMethod.toArray(new Method[aroundInvokeMethod.size()]));
+ interceptionMethods.put(InterceptionType.AROUND_INVOKE, aroundInvokeMethod.toArray(new Method[0]));
}
if (postConstructMethods.size() > 0)
@@ -286,7 +286,7 @@ public abstract class InterceptorBeanBuilder<T, B extends InterceptorBean<T>> ex
clazzParameters.add(ClassUtil.getClazz(parameter.getBaseType()));
}
- Class<?>[] params = clazzParameters.toArray(new Class<?>[clazzParameters.size()]);
+ Class<?>[] params = clazzParameters.toArray(new Class<?>[0]);
if (params.length != 1 || !params[0].equals(InvocationContext.class))
{
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java b/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java
index 2b2c8e73d..5b4e08f74 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java
@@ -1882,7 +1882,7 @@ public class BeansDeployer
Set<Annotation> annTypeAnnotations = annotatedType.getAnnotations();
if (annTypeAnnotations != null)
{
- classAnnotations = annTypeAnnotations.toArray(new Annotation[annTypeAnnotations.size()]);
+ classAnnotations = annTypeAnnotations.toArray(new Annotation[0]);
}
else
{
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/config/DefaultAnnotation.java b/webbeans-impl/src/main/java/org/apache/webbeans/config/DefaultAnnotation.java
index 81df3a776..4af0dc1dc 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/config/DefaultAnnotation.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/config/DefaultAnnotation.java
@@ -50,24 +50,15 @@ public final class DefaultAnnotation implements InvocationHandler, Annotation
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable
{
- if ("hashCode".equals(method.getName()))
+ return switch (method.getName())
{
- return hashCode();
- }
- else if ("equals".equals(method.getName()))
- {
- return equals(args[0]);
- }
- else if ("annotationType".equals(method.getName()))
- {
- return annotationType();
- }
- else if ("toString".equals(method.getName()))
- {
- return toString();
- }
+ case "hashCode" -> hashCode();
+ case "equals" -> equals(args[0]);
+ case "annotationType" -> annotationType();
+ case "toString" -> toString();
+ default -> method.getDefaultValue();
+ };
- return method.getDefaultValue();
}
@Override
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/config/OwbTypeVariableImpl.java b/webbeans-impl/src/main/java/org/apache/webbeans/config/OwbTypeVariableImpl.java
index b75c47e90..ecc162ac0 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/config/OwbTypeVariableImpl.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/config/OwbTypeVariableImpl.java
@@ -84,34 +84,22 @@ public class OwbTypeVariableImpl
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable
{
String methodName = method.getName();
- if ("equals".equals(methodName))
+ return switch (methodName)
{
- return typeVariableEquals(args[0]);
- }
- else if ("hashCode".equals(methodName))
- {
- return typeVariableHashCode();
- }
- else if ("toString".equals(methodName))
- {
- return typeVariableToString();
- }
- else if ("getName".equals(methodName))
- {
- return getName();
- }
- else if ("getGenericDeclaration".equals(methodName))
- {
- return getGenericDeclaration();
- }
- else if ("getBounds".equals(methodName))
- {
- return getBounds();
- }
+ case "equals" -> typeVariableEquals(args[0]);
+ case "hashCode" -> typeVariableHashCode();
+ case "toString" -> typeVariableToString();
+ case "getName" -> getName();
+ case "getGenericDeclaration" -> getGenericDeclaration();
+ case "getBounds" -> getBounds();
+ default ->
+
+
+ // new method from java8...
+ null;
+ };
- // new method from java8...
- return null;
}
/** method from TypeVariable */
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/configurator/InjectionPointConfiguratorImpl.java b/webbeans-impl/src/main/java/org/apache/webbeans/configurator/InjectionPointConfiguratorImpl.java
index 833ce9c00..e754e540c 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/configurator/InjectionPointConfiguratorImpl.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/configurator/InjectionPointConfiguratorImpl.java
@@ -25,6 +25,7 @@ import jakarta.enterprise.inject.spi.configurator.InjectionPointConfigurator;
import java.lang.annotation.Annotation;
import java.lang.reflect.Member;
import java.lang.reflect.Type;
+import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
@@ -70,10 +71,7 @@ public class InjectionPointConfiguratorImpl implements InjectionPointConfigurato
@Override
public InjectionPointConfigurator addQualifiers(Annotation... qualifiers)
{
- for (Annotation qualifier : qualifiers)
- {
- this.qualifiers.add(qualifier);
- }
+ this.qualifiers.addAll(Arrays.asList(qualifiers));
return this;
}
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/configurator/ObserverMethodConfiguratorImpl.java b/webbeans-impl/src/main/java/org/apache/webbeans/configurator/ObserverMethodConfiguratorImpl.java
index 1f721bce0..73a044fdd 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/configurator/ObserverMethodConfiguratorImpl.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/configurator/ObserverMethodConfiguratorImpl.java
@@ -215,10 +215,7 @@ public class ObserverMethodConfiguratorImpl<T> implements ObserverMethodConfigur
@Override
public ObserverMethodConfigurator<T> addQualifiers(Annotation... qualifiers)
{
- for (Annotation qualifier : qualifiers)
- {
- this.qualifiers.add(qualifier);
- }
+ this.qualifiers.addAll(Arrays.asList(qualifiers));
return this;
}
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java b/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java
index 63b523ce2..804a543d1 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java
@@ -171,7 +171,7 @@ public class InjectionResolver
}
// not that happy about this check here and at runtime but few TCKs test Weld behavior only...
- Bean<?> bean = resolve(implResolveByType(false, type, injectionPoint.getQualifiers().toArray(new Annotation[injectionPoint.getQualifiers().size()])),
+ Bean<?> bean = resolve(implResolveByType(false, type, injectionPoint.getQualifiers().toArray(new Annotation[0])),
injectionPoint);
if (bean != null && ManagedBean.class.isInstance(bean))
{
@@ -266,7 +266,7 @@ public class InjectionResolver
}
Set<Annotation> qualSet = injectionPoint.getQualifiers();
- Annotation[] qualifiers = qualSet.toArray(new Annotation[qualSet.size()]);
+ Annotation[] qualifiers = qualSet.toArray(new Annotation[0]);
Set<Bean<?>> beanSet = implResolveByType(injectionPoint.isDelegate(), type, clazz, qualifiers);
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/corespi/scanner/AbstractMetaDataDiscovery.java b/webbeans-impl/src/main/java/org/apache/webbeans/corespi/scanner/AbstractMetaDataDiscovery.java
index 24f87fd4e..9627855a4 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/corespi/scanner/AbstractMetaDataDiscovery.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/corespi/scanner/AbstractMetaDataDiscovery.java
@@ -317,7 +317,7 @@ public abstract class AbstractMetaDataDiscovery implements BdaScannerService
protected void filterExcludedJars(Set<URL> classPathUrls)
{
- classPathUrls.removeIf(i -> isExcludedJar(i));
+ classPathUrls.removeIf(this::isExcludedJar);
}
protected boolean isExcludedJar(URL url)
@@ -421,7 +421,7 @@ public abstract class AbstractMetaDataDiscovery implements BdaScannerService
OpenWebBeansConfiguration owbConfiguration = WebBeansContext.currentInstance().getOpenWebBeansConfiguration();
String scanningExcludesProperty = owbConfiguration.getProperty(OpenWebBeansConfiguration.SCAN_EXCLUSION_PATHS);
List<String> excludes = owbConfiguration.splitValues(scanningExcludesProperty);
- scanningExcludes = excludes.toArray(new String[excludes.size()]);
+ scanningExcludes = excludes.toArray(new String[0]);
}
}
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/corespi/scanner/xbean/OwbAnnotationFinder.java b/webbeans-impl/src/main/java/org/apache/webbeans/corespi/scanner/xbean/OwbAnnotationFinder.java
index c3d358ee4..d3ce0e0c7 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/corespi/scanner/xbean/OwbAnnotationFinder.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/corespi/scanner/xbean/OwbAnnotationFinder.java
@@ -57,7 +57,7 @@ public class OwbAnnotationFinder extends AnnotationFinder
{
// ignore, will not affect all cases
}
- Stream.of(classes).forEach(c -> super.readClassDef(c));
+ Stream.of(classes).forEach(super::readClassDef);
}
public ClassInfo getClassInfo(String className)
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/deployment/StereoTypeModel.java b/webbeans-impl/src/main/java/org/apache/webbeans/deployment/StereoTypeModel.java
index d0646405f..2eb9d6cbf 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/deployment/StereoTypeModel.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/deployment/StereoTypeModel.java
@@ -21,6 +21,7 @@ package org.apache.webbeans.deployment;
import java.lang.annotation.Annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Target;
+import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
import java.util.logging.Level;
@@ -136,10 +137,7 @@ public class StereoTypeModel implements IStereoTypeModel
{
Annotation[] ibs =
annotationManager.getInterceptorBindingMetaAnnotations(annotations);
- for (Annotation ann : ibs)
- {
- interceptorBindingTypes.add(ann);
- }
+ interceptorBindingTypes.addAll(Arrays.asList(ibs));
}
if (annotationManager.hasStereoTypeMetaAnnotation(annotations))
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/event/EventImpl.java b/webbeans-impl/src/main/java/org/apache/webbeans/event/EventImpl.java
index a28682253..58b44ba53 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/event/EventImpl.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/event/EventImpl.java
@@ -88,7 +88,7 @@ public class EventImpl<T> implements Event<T>, Serializable
else
{
Set<Annotation> qualifiers = metadata.getQualifiers();
- return new EventMetadataImpl(null, metadata.getType(), metadata.getInjectionPoint(), qualifiers.toArray(new Annotation[qualifiers.size()]), webBeansContext);
+ return new EventMetadataImpl(null, metadata.getType(), metadata.getInjectionPoint(), qualifiers.toArray(new Annotation[0]), webBeansContext);
}
}
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/event/EventMetadataImpl.java b/webbeans-impl/src/main/java/org/apache/webbeans/event/EventMetadataImpl.java
index 6c9a3cee5..223d33de3 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/event/EventMetadataImpl.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/event/EventMetadataImpl.java
@@ -142,7 +142,7 @@ public class EventMetadataImpl implements EventMetadata, Serializable
webBeansContext.getAnnotationManager().checkQualifierConditions(bindings);
Set<Annotation> newQualifiers = ArrayUtil.asSet(bindings);
newQualifiers.addAll(qualifiers);
- return new EventMetadataImpl(type, subtype, injectionPoint, newQualifiers.toArray(new Annotation[newQualifiers.size()]), webBeansContext);
+ return new EventMetadataImpl(type, subtype, injectionPoint, newQualifiers.toArray(new Annotation[0]), webBeansContext);
}
private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/event/NotificationManager.java b/webbeans-impl/src/main/java/org/apache/webbeans/event/NotificationManager.java
index d0d0b7e69..c2c0a6238 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/event/NotificationManager.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/event/NotificationManager.java
@@ -117,14 +117,7 @@ public class NotificationManager
// this is actually faster than a lambda Comparator.comparingInt(ObserverMethod::getPriority)
private Comparator<? super ObserverMethod<? super Object>> observerMethodComparator
- = new Comparator<>()
- {
- @Override
- public int compare(ObserverMethod<? super Object> o1, ObserverMethod<? super Object> o2)
- {
- return Integer.compare(o1.getPriority(), o2.getPriority());
- }
- };
+ = (Comparator<ObserverMethod<? super Object>>) (o1, o2) -> Integer.compare(o1.getPriority(), o2.getPriority());
// idea is to be able to skip O(n) events in favor of an algorithm closer to O(1) impl
// statistically, it is not rare to not use all these events so we enable to skip most of them
@@ -211,10 +204,7 @@ public class NotificationManager
List<ObserverMethod<?>> observerMethods = new ArrayList<>();
for (Set<ObserverMethod<?>> methods: observers.values())
{
- for (ObserverMethod<?> method: methods)
- {
- observerMethods.add(method);
- }
+ observerMethods.addAll(methods);
}
return observerMethods;
}
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/event/ObserverMethodImpl.java b/webbeans-impl/src/main/java/org/apache/webbeans/event/ObserverMethodImpl.java
index a7f985307..bb938f5dd 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/event/ObserverMethodImpl.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/event/ObserverMethodImpl.java
@@ -486,7 +486,6 @@ public class ObserverMethodImpl<T> implements OwbObserverMethod<T>
* @return the bean
*/
@Override
- @SuppressWarnings("unchecked")
public Class<?> getBeanClass()
{
return ownerBean.getBeanClass();
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/inject/InjectableConstructor.java b/webbeans-impl/src/main/java/org/apache/webbeans/inject/InjectableConstructor.java
index e8c9766db..f7fe3759b 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/inject/InjectableConstructor.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/inject/InjectableConstructor.java
@@ -111,7 +111,7 @@ public class InjectableConstructor<T> extends AbstractInjectable<T>
}
}
}
- params = list.toArray(new Object[list.size()]);
+ params = list.toArray(new Object[0]);
return params;
}
}
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/inject/InjectableMethod.java b/webbeans-impl/src/main/java/org/apache/webbeans/inject/InjectableMethod.java
index 26cc224ed..5356505ce 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/inject/InjectableMethod.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/inject/InjectableMethod.java
@@ -152,7 +152,7 @@ public class InjectableMethod<T> extends AbstractInjectable<T>
getWebBeansContext().getSecurityService().doPrivilegedSetAccessible(method, true);
}
- return (T) method.invoke(owner, list.toArray(new Object[list.size()]));
+ return (T) method.invoke(owner, list.toArray(new Object[0]));
}
catch (Exception e)
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/inject/impl/InjectionPointFactory.java b/webbeans-impl/src/main/java/org/apache/webbeans/inject/impl/InjectionPointFactory.java
index a3a735ca3..baef94335 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/inject/impl/InjectionPointFactory.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/inject/impl/InjectionPointFactory.java
@@ -176,7 +176,7 @@ public class InjectionPointFactory
{
Asserts.assertNotNull(parameter, "annotatedParameter");
Set<Annotation> anns = parameter.getAnnotations();
- Annotation[] qualifierAnnots = webBeansContext.getAnnotationManager().getQualifierAnnotations(anns.toArray(new Annotation[anns.size()]));
+ Annotation[] qualifierAnnots = webBeansContext.getAnnotationManager().getQualifierAnnotations(anns.toArray(new Annotation[0]));
InjectionPointImpl injectionPoint = new InjectionPointImpl(owner, Arrays.asList(qualifierAnnots), parameter);
if (fireEvent)
{
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/inject/impl/InjectionPointImpl.java b/webbeans-impl/src/main/java/org/apache/webbeans/inject/impl/InjectionPointImpl.java
index 5279233d2..da9cf6a16 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/inject/impl/InjectionPointImpl.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/inject/impl/InjectionPointImpl.java
@@ -252,7 +252,7 @@ public class InjectionPointImpl implements InjectionPoint, Serializable
//process annotations
BeanManagerImpl beanManager = webBeansContext.getBeanManagerImpl();
Set<Bean<?>> beans = beanManager.getBeans(ownerBeanClass,
- ownerQualifiers.toArray(new Annotation[ownerQualifiers.size()]));
+ ownerQualifiers.toArray(new Annotation[0]));
ownerBean = beanManager.resolve(beans);
// determine type of injection point member (0=field, 1=method, 2=constructor) and read...
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/inject/instance/InstanceImpl.java b/webbeans-impl/src/main/java/org/apache/webbeans/inject/instance/InstanceImpl.java
index 513f3214b..1f171b893 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/inject/instance/InstanceImpl.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/inject/instance/InstanceImpl.java
@@ -108,10 +108,7 @@ public class InstanceImpl<T> implements Instance<T>, Serializable
webBeansContext.getAnnotationManager().checkQualifierConditions(qualifiers);
}
- for (Annotation ann : qualifiers)
- {
- qualifierAnnotations.add(ann);
- }
+ qualifierAnnotations.addAll(Arrays.asList(qualifiers));
}
@Override
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorResolutionService.java b/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorResolutionService.java
index 02465445c..50a6152f7 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorResolutionService.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorResolutionService.java
@@ -142,8 +142,8 @@ public class InterceptorResolutionService
? Collections.emptySet()
: Collections.unmodifiableSet(new LinkedHashSet<>(classInterceptorBindings));
- LinkedHashSet<Interceptor<?>> allUsedEjbInterceptors = new LinkedHashSet<>(); // we need to preserve the order!
- allUsedEjbInterceptors.addAll(classLevelEjbInterceptors);
+ // we need to preserve the order!
+ LinkedHashSet<Interceptor<?>> allUsedEjbInterceptors = new LinkedHashSet<>(classLevelEjbInterceptors);
Map<Method, BusinessMethodInterceptorInfo> businessMethodInterceptorInfos = new HashMap<>();
Map<Constructor<?>, BusinessMethodInterceptorInfo> constructorInterceptorInfos = new HashMap<>();
@@ -1121,7 +1121,7 @@ public class InterceptorResolutionService
}
else
{
- this.cdiInterceptors = cdiInterceptors.toArray(new Interceptor[cdiInterceptors.size()]);
+ this.cdiInterceptors = cdiInterceptors.toArray(new Interceptor[0]);
}
}
@@ -1145,7 +1145,7 @@ public class InterceptorResolutionService
}
else
{
- this.ejbInterceptors = ejbInterceptors.toArray(new Interceptor[ejbInterceptors.size()]);
+ this.ejbInterceptors = ejbInterceptors.toArray(new Interceptor[0]);
}
}
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/jms/JMSModel.java b/webbeans-impl/src/main/java/org/apache/webbeans/jms/JMSModel.java
index 4a7a2f74b..91423b1fb 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/jms/JMSModel.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/jms/JMSModel.java
@@ -57,7 +57,7 @@ public class JMSModel
public Annotation[] getBindings()
{
- return bindings.toArray(new Annotation[bindings.size()]);
+ return bindings.toArray(new Annotation[0]);
}
/**
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/portable/AbstractAnnotated.java b/webbeans-impl/src/main/java/org/apache/webbeans/portable/AbstractAnnotated.java
index d0a8b4aa7..9cdf2db3b 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/portable/AbstractAnnotated.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/portable/AbstractAnnotated.java
@@ -23,6 +23,7 @@ import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Type;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
@@ -111,10 +112,7 @@ public abstract class AbstractAnnotated implements Annotated
}
Annotation[] repeatableAnns =
(Annotation[]) repeatableMethod.orElseThrow(IllegalStateException::new).invoke(annotation);
- for (Annotation repeatableAnn : repeatableAnns)
- {
- repeatables.add(repeatableAnn);
- }
+ repeatables.addAll(Arrays.asList(repeatableAnns));
}
catch (IllegalAccessException | InvocationTargetException e)
{
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/portable/AnnotatedConstructorImpl.java b/webbeans-impl/src/main/java/org/apache/webbeans/portable/AnnotatedConstructorImpl.java
index d0254f691..a20e15201 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/portable/AnnotatedConstructorImpl.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/portable/AnnotatedConstructorImpl.java
@@ -100,7 +100,7 @@ public class AnnotatedConstructorImpl<X> extends AbstractAnnotatedCallable<X> im
}
current = current.getSuperclass();
}
- return annotations.values().toArray(new Annotation[annotations.size()]);
+ return annotations.values().toArray(new Annotation[0]);
}
return javaMember.getDeclaredAnnotations();
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/portable/AnnotatedTypeImpl.java b/webbeans-impl/src/main/java/org/apache/webbeans/portable/AnnotatedTypeImpl.java
index aab575921..b0c393dd7 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/portable/AnnotatedTypeImpl.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/portable/AnnotatedTypeImpl.java
@@ -101,7 +101,7 @@ public class AnnotatedTypeImpl<X>
annotationTypes.add(annotationType);
}
}
- setAnnotations(annotations.toArray(new Annotation[annotations.size()]));
+ setAnnotations(annotations.toArray(new Annotation[0]));
}
}
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/portable/InstanceProducer.java b/webbeans-impl/src/main/java/org/apache/webbeans/portable/InstanceProducer.java
index 99e430ebf..56b78d44c 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/portable/InstanceProducer.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/portable/InstanceProducer.java
@@ -77,7 +77,7 @@ public class InstanceProducer<T> extends AbstractProducer<Instance<T>>
type = Object.class;
}
- return new InstanceImpl<>(type, injectionPoint, webBeansContext, qualifiers.toArray(new Annotation[qualifiers.size()]));
+ return new InstanceImpl<>(type, injectionPoint, webBeansContext, qualifiers.toArray(new Annotation[0]));
}
finally
{
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/portable/LazyInterceptorDefinedInjectionTarget.java b/webbeans-impl/src/main/java/org/apache/webbeans/portable/LazyInterceptorDefinedInjectionTarget.java
index 01adea918..61a04ae87 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/portable/LazyInterceptorDefinedInjectionTarget.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/portable/LazyInterceptorDefinedInjectionTarget.java
@@ -69,7 +69,7 @@ public class LazyInterceptorDefinedInjectionTarget<T> extends InjectionTargetImp
}
try
{
- Set<Bean<?>> beans = bm.getBeans(annotatedType.getJavaClass(), annotations.toArray(new Annotation[annotations.size()]));
+ Set<Bean<?>> beans = bm.getBeans(annotatedType.getJavaClass(), annotations.toArray(new Annotation[0]));
bean = (Bean<T>) bm.resolve(beans);
}
catch (Exception e)
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/portable/events/generics/GProcessSyntheticBean.java b/webbeans-impl/src/main/java/org/apache/webbeans/portable/events/generics/GProcessSyntheticBean.java
index 5a38ac599..a604632de 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/portable/events/generics/GProcessSyntheticBean.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/portable/events/generics/GProcessSyntheticBean.java
@@ -24,7 +24,6 @@ import jakarta.enterprise.inject.spi.Extension;
import jakarta.enterprise.inject.spi.ProcessSyntheticBean;
-@SuppressWarnings("unchecked")
public class GProcessSyntheticBean extends GProcessBean implements ProcessSyntheticBean
{
private final Extension source;
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/portable/events/generics/GProcessSyntheticObserverMethod.java b/webbeans-impl/src/main/java/org/apache/webbeans/portable/events/generics/GProcessSyntheticObserverMethod.java
index 5a61fdcc4..7a2a9bddb 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/portable/events/generics/GProcessSyntheticObserverMethod.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/portable/events/generics/GProcessSyntheticObserverMethod.java
@@ -26,7 +26,6 @@ import jakarta.enterprise.inject.spi.ProcessSyntheticObserverMethod;
import org.apache.webbeans.config.WebBeansContext;
-@SuppressWarnings("unchecked")
public class GProcessSyntheticObserverMethod extends GProcessObserverMethod implements ProcessSyntheticObserverMethod
{
private final Extension source;
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/proxy/AbstractProxyFactory.java b/webbeans-impl/src/main/java/org/apache/webbeans/proxy/AbstractProxyFactory.java
index c5f52cdc6..26488642f 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/proxy/AbstractProxyFactory.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/proxy/AbstractProxyFactory.java
@@ -413,7 +413,7 @@ public abstract class AbstractProxyFactory
ArrayList<Method> outsorted = new ArrayList<>(Arrays.asList(methods));
outsorted.removeAll(duplicates);
- return outsorted.toArray(new Method[outsorted.size()]);
+ return outsorted.toArray(new Method[0]);
}
private boolean hasSameSignature(Method a, Method b)
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/proxy/InterceptorDecoratorProxyFactory.java b/webbeans-impl/src/main/java/org/apache/webbeans/proxy/InterceptorDecoratorProxyFactory.java
index 2fa944d48..48b097aea 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/proxy/InterceptorDecoratorProxyFactory.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/proxy/InterceptorDecoratorProxyFactory.java
@@ -189,7 +189,7 @@ public class InterceptorDecoratorProxyFactory extends AbstractProxyFactory
Class<T> proxyClass = createProxyClass(
classLoader, at.getJavaClass(),
- intercepted.toArray(new Method[intercepted.size()]), others.toArray(new Method[others.size()]));
+ intercepted.toArray(new Method[0]), others.toArray(new Method[0]));
return proxyClass;
}
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/proxy/NormalScopeProxyFactory.java b/webbeans-impl/src/main/java/org/apache/webbeans/proxy/NormalScopeProxyFactory.java
index f31ddc319..f6a3bd4c8 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/proxy/NormalScopeProxyFactory.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/proxy/NormalScopeProxyFactory.java
@@ -252,8 +252,8 @@ public class NormalScopeProxyFactory extends AbstractProxyFactory
}
}
- nonInterceptedMethods = methods.toArray(new Method[methods.size()]);
- interceptedMethods = protectedMethods.toArray(new Method[protectedMethods.size()]);
+ nonInterceptedMethods = methods.toArray(new Method[0]);
+ interceptedMethods = protectedMethods.toArray(new Method[0]);
}
String proxyClassName = getUnusedProxyClassName(
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/proxy/SubclassProxyFactory.java b/webbeans-impl/src/main/java/org/apache/webbeans/proxy/SubclassProxyFactory.java
index 605a31034..30f76cc8c 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/proxy/SubclassProxyFactory.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/proxy/SubclassProxyFactory.java
@@ -120,7 +120,7 @@ public class SubclassProxyFactory extends AbstractProxyFactory
String proxyClassName = getSubClassName(classToProxy);
List<Method> methods = ClassUtil.getNonPrivateMethods(classToProxy, true);
- Method[] businessMethods = methods.toArray(new Method[methods.size()]);
+ Method[] businessMethods = methods.toArray(new Method[0]);
AnnotatedConstructor<T> aCons = webBeansContext.getWebBeansUtil().getInjectedConstructor(annotatedType);
Constructor<T> cons = aCons != null ? aCons.getJavaMember() : null;
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java b/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java
index 8db9d2e0e..f38639607 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java
@@ -657,7 +657,7 @@ public final class ClassUtil
{
Asserts.nullCheckForClass(clazz);
- Integer modifier = clazz.getModifiers();
+ int modifier = clazz.getModifiers();
return !Modifier.isAbstract(modifier) && !Modifier.isInterface(modifier);
}
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/util/GenericsUtil.java b/webbeans-impl/src/main/java/org/apache/webbeans/util/GenericsUtil.java
index 59c162204..1348c23e1 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/util/GenericsUtil.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/util/GenericsUtil.java
@@ -549,7 +549,7 @@ public final class GenericsUtil
public static boolean containTypeVariable(Collection<? extends Type> types)
{
- return containTypeVariable(types.toArray(new Type[types.size()]));
+ return containTypeVariable(types.toArray(new Type[0]));
}
public static boolean containTypeVariable(Type[] types)
@@ -922,7 +922,7 @@ public final class GenericsUtil
classTypes.add(rawType);
}
}
- return classTypes.toArray(new Class[classTypes.size()]);
+ return classTypes.toArray(new Class[0]);
}
private static Type resolveTypeVariable(TypeVariable<?> variable, Type actualType, Collection<TypeVariable<?>> seen)
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/util/InjectionExceptionUtil.java b/webbeans-impl/src/main/java/org/apache/webbeans/util/InjectionExceptionUtil.java
index e9624624f..90276b3ec 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/util/InjectionExceptionUtil.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/util/InjectionExceptionUtil.java
@@ -128,7 +128,7 @@ public class InjectionExceptionUtil
{
if (injectionPoint != null)
{
- qualifiers = injectionPoint.getQualifiers().toArray(new Annotation[injectionPoint.getQualifiers().size()]);
+ qualifiers = injectionPoint.getQualifiers().toArray(new Annotation[0]);
}
else
{