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.