APIdia Launch Partner
Top Fields Constructors Methods
jdk.jfr.internal

public final Class TypeLibrary

extends Object
Class Inheritance
Imports
java.io.IOException, java.lang.annotation.Annotation, .Repeatable, java.lang.reflect.Field, .InvocationTargetException, .Method, .Modifier, java.util.ArrayDeque, .ArrayList, .Collection, .Collections, .Comparator, .HashMap, .HashSet, .LinkedHashMap, .List, .Map, .Queue, .Set, java.util.function.Consumer, .Predicate, java.util.stream.Stream, jdk.jfr.AnnotationElement, .Description, .Label, .MetadataDefinition, .Name, .SettingControl, .SettingDescriptor, .Timespan, .Timestamp, .ValueDescriptor, jdk.jfr.internal.util.Utils, .ImplicitFields, jdk.internal.module.Modules

Field Summary

Modifier and TypeField and Description
pack-priv static final ValueDescriptor
private static boolean
pack-priv static final ValueDescriptor
pack-priv static final ValueDescriptor
pack-priv static final ValueDescriptor
private static final Map<Long, Type>

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
private static void
addAnnotations(Class<?> clazz, Type type, List<AnnotationElement> dynamicAnnotations)

private static void
addFields(Type type, boolean requestable, boolean hasDuration, boolean hasThread, boolean hasStackTrace, boolean hasCutoff)

public static synchronized void
addImplicitFields(Type type, boolean requestable, boolean hasDuration, boolean hasThread, boolean hasStackTrace, boolean hasCutoff)

public static synchronized void
addType(Type type)

public static synchronized void
private static void
addUserFields(Class<?> clazz, Type type, List<ValueDescriptor> dynamicFields)

public static synchronized boolean
public static synchronized AnnotationElement
public static synchronized Type
private static ValueDescriptor
private static ValueDescriptor
private static ValueDescriptor
private static List<AnnotationElement>
private static ValueDescriptor
private static ValueDescriptor
public static synchronized Type
createType(Class<?> clazz)

public static synchronized Type
createType(Class<?> clazz, List<AnnotationElement> dynamicAnnotations, List<ValueDescriptor> dynamicFields)

private static Type
defineType(Class<?> clazz, String superType, boolean eventType)

private static Type
getType(Class<?> clazz)

public static synchronized Collection<Type>
public static synchronized List<Type>
public static synchronized void
private static Object
invokeAnnotation(Annotation annotation, String methodName)

private static boolean
isDefined(Class<?> clazz)

private static boolean
isEventClass(Class<?> clazz)

public static synchronized void
removeType(long id)

private static List<Annotation>
private static boolean
private static void
private static void
visitReachable(Collection<Type>
the types to start from
rootSet
,
Predicate<Type>
if a type should be accepted
p
,
Consumer<Type>
action to take on an accepted type
c
)

Iterates all reachable types from a start collection

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

DURATION_FIELDback to summary
pack-priv static final ValueDescriptor DURATION_FIELD
implicitFieldTypesback to summary
private static boolean implicitFieldTypes
STACK_TRACE_FIELDback to summary
pack-priv static final ValueDescriptor STACK_TRACE_FIELD
START_TIME_FIELDback to summary
pack-priv static final ValueDescriptor START_TIME_FIELD
THREAD_FIELDback to summary
pack-priv static final ValueDescriptor THREAD_FIELD
typesback to summary
private static final Map<Long, Type> types

Constructor Detail

TypeLibraryback to summary
private TypeLibrary()

Method Detail

addAnnotationsback to summary
private static void addAnnotations(Class<?> clazz, Type type, List<AnnotationElement> dynamicAnnotations)
addFieldsback to summary
private static void addFields(Type type, boolean requestable, boolean hasDuration, boolean hasThread, boolean hasStackTrace, boolean hasCutoff)
addImplicitFieldsback to summary
public static synchronized void addImplicitFields(Type type, boolean requestable, boolean hasDuration, boolean hasThread, boolean hasStackTrace, boolean hasCutoff)
addTypeback to summary
public static synchronized void addType(Type type)
addTypesback to summary
public static synchronized void addTypes(List<Type> ts)
addUserFieldsback to summary
private static void addUserFields(Class<?> clazz, Type type, List<ValueDescriptor> dynamicFields)
clearUnregisteredback to summary
public static synchronized boolean clearUnregistered()
createAnnotationback to summary
public static synchronized AnnotationElement createAnnotation(Annotation annotation)
createAnnotationTypeback to summary
public static synchronized Type createAnnotationType(Class<? extends Annotation> a)
createDurationFieldback to summary
private static ValueDescriptor createDurationField()
createFieldback to summary
private static ValueDescriptor createField(Field field)
createStackTraceFieldback to summary
private static ValueDescriptor createStackTraceField()
createStandardAnnotationsback to summary
private static List<AnnotationElement> createStandardAnnotations(String name, String description)
createStartTimeFieldback to summary
private static ValueDescriptor createStartTimeField()
createThreadFieldback to summary
private static ValueDescriptor createThreadField()
createTypeback to summary
public static synchronized Type createType(Class<?> clazz)
createTypeback to summary
public static synchronized Type createType(Class<?> clazz, List<AnnotationElement> dynamicAnnotations, List<ValueDescriptor> dynamicFields)
defineTypeback to summary
private static Type defineType(Class<?> clazz, String superType, boolean eventType)
getTypeback to summary
private static Type getType(Class<?> clazz)
getTypesback to summary
public static synchronized Collection<Type> getTypes()
getVisibleTypesback to summary
public static synchronized List<Type> getVisibleTypes()
initializeback to summary
public static synchronized void initialize()
invokeAnnotationback to summary
private static Object invokeAnnotation(Annotation annotation, String methodName)
isDefinedback to summary
private static boolean isDefined(Class<?> clazz)
isEventClassback to summary
private static boolean isEventClass(Class<?> clazz)
removeTypeback to summary
public static synchronized void removeType(long id)
resolveRepeatedAnnotationsback to summary
private static List<Annotation> resolveRepeatedAnnotations(Annotation[] annotations)
shouldPersistback to summary
private static boolean shouldPersist(Class<? extends Annotation> a)
visitAnnotationsback to summary
private static void visitAnnotations(Queue<Type> typeQ, List<AnnotationElement> aes)
visitReachableback to summary
private static void visitReachable(Collection<Type> rootSet, Predicate<Type> p, Consumer<Type> c)

Iterates all reachable types from a start collection

Parameters
rootSet:Collection<Type>

the types to start from

p:Predicate<Type>

if a type should be accepted

c:Consumer<Type>

action to take on an accepted type