Memoizer

class Memoizer(types: Types, elements: Elements, logger: Logger)

Types

SuperClassAttributes
Link copied to clipboard
data class SuperClassAttributes(superClassPackage: String, superClassAttributes: List<AttributeInfo>)
SuperViewAnnotations
Link copied to clipboard
class SuperViewAnnotations(viewPackageName: Name, annotatedElements: Map<Class<out Annotation>, List<Memoizer.ViewElement>>)
ViewElement
Link copied to clipboard
class ViewElement(element: Element, isPackagePrivate: Boolean, attributeInfo: Lazy<ViewAttributeInfo>)

Functions

getAnnotationsOnViewSuperClass
Link copied to clipboard
fun getAnnotationsOnViewSuperClass(superViewElement: TypeElement, logger: Logger, resourceProcessor: ResourceProcessor): Memoizer.SuperViewAnnotations
getClassConstructors
Link copied to clipboard
fun getClassConstructors(classElement: TypeElement): List<GeneratedModelInfo.ConstructorInfo>
Get information about constructors of the original class so we can duplicate them in the generated class and call through to super with the proper parameters
getInheritedEpoxyAttributes
Link copied to clipboard
fun getInheritedEpoxyAttributes(originatingSuperClassType: TypeMirror, modelPackage: String, logger: Logger, includeSuperClass: (TypeElement) -> Boolean = { true }): List<AttributeInfo>
Looks up all of the declared EpoxyAttribute fields on superclasses and returns attribute info for them.
getMethodsReturningClassType
Link copied to clipboard
fun getMethodsReturningClassType(classType: TypeMirror): Set<MethodInfo>
getType
Link copied to clipboard
fun getType(typeMirror: TypeMirror): Type
hasViewParentConstructor
Link copied to clipboard
fun hasViewParentConstructor(classElement: TypeElement): Boolean
implementsModelCollector
Link copied to clipboard
fun implementsModelCollector(classElement: TypeElement): Boolean
validateViewModelBaseClass
Link copied to clipboard
fun validateViewModelBaseClass(baseModelType: TypeMirror, logger: Logger, viewName: Name): TypeElement?

Properties

elements
Link copied to clipboard
val elements: Elements
epoxyDataBindingModelBaseClass
Link copied to clipboard
val epoxyDataBindingModelBaseClass: TypeElement
epoxyModelClassAnnotation
Link copied to clipboard
val epoxyModelClassAnnotation: ClassName
epoxyModelClassElementUntyped
Link copied to clipboard
val epoxyModelClassElementUntyped: TypeElement
logger
Link copied to clipboard
val logger: Logger
parisStyleType
Link copied to clipboard
val parisStyleType: TypeMirror
types
Link copied to clipboard
val types: Types
viewType
Link copied to clipboard
val viewType: TypeMirror