Top Description Inners Fields Constructors Methods
org.springframework.aot.hint.annotation

public Class ReflectiveRuntimeHintsRegistrar

extends Object
Class Inheritance
Imports
java.lang.reflect.AnnotatedElement, .Constructor, java.util.Arrays, .HashMap, .HashSet, .List, .Map, .Set, java.util.function.Consumer, org.springframework.aot.hint.ReflectionHints, .RuntimeHints, org.springframework.core.annotation.MergedAnnotations, org.springframework.util.ClassUtils, .ReflectionUtils

Process @Reflective annotated elements.
Authors
Stephane Nicoll, Andy Wilkinson
Since
6.0

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class
private static record

Field Summary

Modifier and TypeField and Description
private final Map<Class<? extends ReflectiveProcessor>, ReflectiveProcessor>

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
private ReflectiveRuntimeHintsRegistrar.Entry
private void
doWithReflectiveConstructors(Class<?> typeToProcess, Consumer<Constructor<?>> consumer)

private ReflectiveProcessor
private boolean
private void
public void
registerRuntimeHints(RuntimeHints
the runtime hints instance to use
runtimeHints
,
Class<?>...
the types to process
types
)

Register the relevant runtime hints for elements that are annotated with Reflective.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

processorsback to summary
private final Map<Class<? extends ReflectiveProcessor>, ReflectiveProcessor> processors

Constructor Detail

ReflectiveRuntimeHintsRegistrarback to summary
public ReflectiveRuntimeHintsRegistrar()

Method Detail

createEntryback to summary
private ReflectiveRuntimeHintsRegistrar.Entry createEntry(AnnotatedElement element)
Annotations
@SuppressWarnings:unchecked
doWithReflectiveConstructorsback to summary
private void doWithReflectiveConstructors(Class<?> typeToProcess, Consumer<Constructor<?>> consumer)
instantiateClassback to summary
private ReflectiveProcessor instantiateClass(Class<? extends ReflectiveProcessor> type)
isReflectiveback to summary
private boolean isReflective(AnnotatedElement element)
processTypeback to summary
private void processType(Set<ReflectiveRuntimeHintsRegistrar.Entry> entries, Class<?> typeToProcess)
registerRuntimeHintsback to summary
public void registerRuntimeHints(RuntimeHints runtimeHints, Class<?>... types)

Register the relevant runtime hints for elements that are annotated with Reflective.

Parameters
runtimeHints:RuntimeHints

the runtime hints instance to use

types:Class<?>[]

the types to process

org.springframework.aot.hint.annotation back to summary

private Class ReflectiveRuntimeHintsRegistrar.DelegatingReflectiveProcessor

extends Object
implements ReflectiveProcessor
Class Inheritance
  • java.lang.Object
  • org.springframework.aot.hint.annotation.ReflectiveRuntimeHintsRegistrar.DelegatingReflectiveProcessor
All Implemented Interfaces
org.springframework.aot.hint.annotation.ReflectiveProcessor

Field Summary

Modifier and TypeField and Description
private final Iterable<ReflectiveProcessor>

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public void
registerReflectionHints(ReflectionHints
the reflection hints instance to use
hints
,
AnnotatedElement
the element to process
element
)

Implements org.springframework.aot.hint.annotation.ReflectiveProcessor.registerReflectionHints.

Register ReflectionHints against the specified AnnotatedElement.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

processorsback to summary
private final Iterable<ReflectiveProcessor> processors

Constructor Detail

DelegatingReflectiveProcessorback to summary
pack-priv DelegatingReflectiveProcessor(Iterable<ReflectiveProcessor> processors)

Method Detail

registerReflectionHintsback to summary
public void registerReflectionHints(ReflectionHints hints, AnnotatedElement element)

Implements org.springframework.aot.hint.annotation.ReflectiveProcessor.registerReflectionHints.

Doc from org.springframework.aot.hint.annotation.ReflectiveProcessor.registerReflectionHints.

Register ReflectionHints against the specified AnnotatedElement.

Parameters
hints:ReflectionHints

the reflection hints instance to use

element:AnnotatedElement

the element to process

Annotations
@Override
org.springframework.aot.hint.annotation back to summary

private final Record ReflectiveRuntimeHintsRegistrar.Entry

extends Record
Class Inheritance
Record Components
element:AnnotatedElement 
processor:ReflectiveProcessor 

Field Summary

Modifier and TypeField and Description
private final AnnotatedElement
element

Record Component accessed by element().

private final ReflectiveProcessor
processor

Record Component accessed by processor().

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public AnnotatedElement
element()

Record Component getter of element.

public final boolean
equals(Object
the reference object with which to compare.
o
)

Implements abstract java.lang.Record.equals.

Indicates whether some other object is "equal to" this one.

public final int
hashCode()

Implements abstract java.lang.Record.hashCode.

Returns a hash code value for the record.

public ReflectiveProcessor
processor()

Record Component getter of processor.

public final String
toString()

Implements abstract java.lang.Record.toString.

Returns a string representation of the record.

Field Detail

elementback to summary
private final AnnotatedElement element

Record Component accessed by element().

processorback to summary
private final ReflectiveProcessor processor

Record Component accessed by processor().

Constructor Detail

Entryback to summary
private Entry(AnnotatedElement element, ReflectiveProcessor processor)

Method Detail

elementback to summary
public AnnotatedElement element()

Record Component getter of element.

equalsback to summary
public final boolean equals(Object o)

Implements abstract java.lang.Record.equals.

Doc from java.lang.Record.equals.

Indicates whether some other object is "equal to" this one. In addition to the general contract of Object.equals, record classes must further obey the invariant that when a record instance is "copied" by passing the result of the record component accessor methods to the canonical constructor, as follows:

    R copy = new R(r.c1(), r.c2(), ..., r.cn());
then it must be the case that r.equals(copy).
Parameters
o:Object

the reference object with which to compare.

Returns:boolean

true if this record is equal to the argument; false otherwise.

hashCodeback to summary
public final int hashCode()

Implements abstract java.lang.Record.hashCode.

Doc from java.lang.Record.hashCode.

Returns a hash code value for the record. Obeys the general contract of Object.hashCode. For records, hashing behavior is constrained by the refined contract of Record.equals, so that any two records created from the same components must have the same hash code.

Returns:int

a hash code value for this record.

processorback to summary
public ReflectiveProcessor processor()

Record Component getter of processor.

toStringback to summary
public final String toString()

Implements abstract java.lang.Record.toString.

Doc from java.lang.Record.toString.

Returns a string representation of the record. In accordance with the general contract of Object#toString(), the toString method returns a string that "textually represents" this record. The result should be a concise but informative representation that is easy for a person to read.

In addition to this general contract, record classes must further participate in the invariant that any two records which are equal must produce equal strings. This invariant is necessarily relaxed in the rare case where corresponding equal component values might fail to produce equal strings for themselves.

Returns:String

a string representation of the object.