Zum Inhalt springen
Anjunar/ DOCS

API

Die Typen von scala-universe und wofür jeder da ist.

Einstieg

TypeResolver

Das Objekt, bei dem jede Suche beginnt.

resolve(aType: Type): ResolvedClass
Das zwischengespeicherte Modell eines Typs.
rawType(aType: Type): Class[?]
Die gelöschte Klasse jedes Types; bei einer ungebundenen Typvariable die deklarierende Klasse.
companionClass(clazz): Class[?]
Die Scala-Companion-Klasse oder null.
companionInstance[E](clazz): E
Das Companion-Objekt als E oder null.
Modell

ResolvedClass

Was resolve liefert.

name · fullName · raw · underlying
Namen, gelöschte Klasse und der Type, aus dem es kam.
typeArguments · hierarchy
Aufgelöste Argumente und Obertypen.
fields · methods · constructors
Über die Hierarchie.
declaredFields · declaredMethods · declaredConstructors
Die eigenen der Klasse.
findField(name) · findMethod(name, args*) · findConstructor(args*)
Suche in der Hierarchie; null, wenn nicht vorhanden. Methoden und Konstruktoren: nur öffentliche.
findDeclaredField · findDeclaredMethod · findDeclaredConstructor
Suche in der Klasse selbst, private Member eingeschlossen.
<:<(other): Boolean
Subtyp-Prüfung auf vollständigen Typen.
Member

Felder, Methoden, Konstruktoren, Parameter

Jedes ist Annotated und kennt seinen Besitzer.

ResolvedField
name, fieldType, get, set, hidden.
ResolvedMethod
name, returnType, parameters, invoke, overrides.
ResolvedConstructor
parameters, newInstance.
ResolvedParameter
name, parameterType.
Annotated
annotations, declaredAnnotations, findAnnotation, findDeclaredAnnotation.
Introspektion

Property-Modelle und Suche

Aus Membern Properties machen und Klassen finden.

BeanIntrospector.create(aClass) · createWithType(aType): BeanModel
Properties aus Gettern und Settern.
AnnotationIntrospector.create(aClass, annotation) · createWithType(aType, annotation): AnnotationModel
Properties aus annotierten Membern.
properties · declaredProperties · findProperty(name)
Auf beiden Modellen; findProperty gibt null zurück, wenn sie fehlt.
AbstractProperty
name, field, getter, setter, get, set, isWriteable, propertyType, annotations.
ClassPathResolver.process(prefix, classLoader) · findAnnotation(classOf[A])
Ein Paket scannen und Annotationen nachschlagen.
ResolvedAnnotation(annotation, target)
Eine indexierte Annotation und das Element, das sie trägt.