Package com.airbnb.epoxy.processor

Types

Asyncable
Link copied to clipboard
interface Asyncable
AttributeInfo
Link copied to clipboard
abstract class AttributeInfo : Comparable<AttributeInfo>
BaseProcessor
Link copied to clipboard
abstract class BaseProcessor : AbstractProcessor, Asyncable
BaseProcessorWithPackageConfigs
Link copied to clipboard
abstract class BaseProcessorWithPackageConfigs : BaseProcessor
ClassNames
Link copied to clipboard
object ClassNames
ConfigManager
Link copied to clipboard
class ConfigManager
Manages configuration settings for different packages.
ControllerClassInfo
Link copied to clipboard
class ControllerClassInfo(elementUtils: Elements, controllerClassElement: TypeElement, resourceProcessor: ResourceProcessor)
ControllerModelField
Link copied to clipboard
data class ControllerModelField(fieldName: String, typeName: TypeName, packagePrivate: Boolean)
ControllerProcessor
Link copied to clipboard
@IncrementalAnnotationProcessor(value = IncrementalAnnotationProcessorType.AGGREGATING)
class ControllerProcessor : BaseProcessorWithPackageConfigs
DataBindingModuleLookup
Link copied to clipboard
class DataBindingModuleLookup(elements: Elements, types: Types, logger: Logger, resourceProcessor: ResourceProcessor)
DataBindingProcessor
Link copied to clipboard
@IncrementalAnnotationProcessor(value = IncrementalAnnotationProcessorType.AGGREGATING)
class DataBindingProcessor : BaseProcessor
EpoxyProcessor
Link copied to clipboard
@IncrementalAnnotationProcessor(value = IncrementalAnnotationProcessorType.AGGREGATING)
class EpoxyProcessor : BaseProcessorWithPackageConfigs
Looks for EpoxyAttribute annotations and generates a subclass for all classes that have those attributes.
GeneratedModelInfo
Link copied to clipboard
abstract class GeneratedModelInfo(memoizer: Memoizer)
GeneratedModelWriter
Link copied to clipboard
class GeneratedModelWriter(filer: Filer, types: Types, logger: Logger, resourceProcessor: ResourceProcessor, configManager: ConfigManager, dataBindingModuleLookup: DataBindingModuleLookup, elements: Elements, asyncable: Asyncable)
GroupedAttribute
Link copied to clipboard
class GroupedAttribute(attributeInfo: AttributeInfo, group: GeneratedModelInfo.AttributeGroup)
ImportScanner
Link copied to clipboard
open class ImportScanner : ElementScanner7<Void, Void>
JavaAnnotationSpec
Link copied to clipboard
typealias JavaAnnotationSpec = AnnotationSpec
JavaArrayTypeName
Link copied to clipboard
typealias JavaArrayTypeName = ArrayTypeName
JavaClassName
Link copied to clipboard
typealias JavaClassName = ClassName
JavaFieldSpec
Link copied to clipboard
typealias JavaFieldSpec = FieldSpec
JavaParameterSpec
Link copied to clipboard
typealias JavaParameterSpec = ParameterSpec
JavaParametrizedTypeName
Link copied to clipboard
typealias JavaParametrizedTypeName = ParameterizedTypeName
JavaTypeName
Link copied to clipboard
typealias JavaTypeName = TypeName
JavaTypeSpec
Link copied to clipboard
typealias JavaTypeSpec = TypeSpec
JavaTypeVariableName
Link copied to clipboard
typealias JavaTypeVariableName = TypeVariableName
JavaWildcardTypeName
Link copied to clipboard
typealias JavaWildcardTypeName = WildcardTypeName
KClassNames
Link copied to clipboard
object KClassNames
KotlinAnnotationSpec
Link copied to clipboard
typealias KotlinAnnotationSpec = AnnotationSpec
KotlinClassName
Link copied to clipboard
typealias KotlinClassName = ClassName
KotlinParameterizedTypeName
Link copied to clipboard
typealias KotlinParameterizedTypeName = ParameterizedTypeName
KotlinParameterSpec
Link copied to clipboard
typealias KotlinParameterSpec = ParameterSpec
KotlinTypeName
Link copied to clipboard
typealias KotlinTypeName = TypeName
KotlinTypeSpec
Link copied to clipboard
typealias KotlinTypeSpec = TypeSpec
KotlinTypeVariableName
Link copied to clipboard
typealias KotlinTypeVariableName = TypeVariableName
KotlinWildcardTypeName
Link copied to clipboard
typealias KotlinWildcardTypeName = WildcardTypeName
Logger
Link copied to clipboard
class Logger(messager: Messager, logTimings: Boolean)
Memoizer
Link copied to clipboard
class Memoizer(types: Types, elements: Elements, logger: Logger)
MethodInfo
Link copied to clipboard
data class MethodInfo(name: String?, modifiers: Set<Modifier>, params: List<ParameterSpec>, varargs: Boolean, isEpoxyAttribute: Boolean, methodElement: ExecutableElement)
ModelBuilderInterfaceWriter
Link copied to clipboard
class ModelBuilderInterfaceWriter(filer: Filer, types: Types, asyncable: Asyncable, configManager: ConfigManager, elements: Elements) : Asyncable
Creates an interface for a generated model that contains all of the valid setters for building a model in an EpoxyController.
ModelViewInfo
Link copied to clipboard
class ModelViewInfo(viewElement: TypeElement, typeUtils: Types, elements: Elements, logger: Logger, configManager: ConfigManager, resourceProcessor: ResourceProcessor, memoizer: Memoizer) : GeneratedModelInfo
ModelViewProcessor
Link copied to clipboard
@IncrementalAnnotationProcessor(value = IncrementalAnnotationProcessorType.AGGREGATING)
class ModelViewProcessor : BaseProcessorWithPackageConfigs
MultiParamAttribute
Link copied to clipboard
interface MultiParamAttribute
Allows an attribute to have multiple parameters in the model setter method.
Mutex
Link copied to clipboard
class Mutex
PackageConfigSettings
Link copied to clipboard
class PackageConfigSettings
Stores configuration settings for a package.
PackageModelViewSettings
Link copied to clipboard
class PackageModelViewSettings(rClassName: ClassName, annotation: PackageModelViewConfig)
ParisStyle
Link copied to clipboard
data class ParisStyle(name: String, javadoc: String?)
ParisStyleAttributeInfo
Link copied to clipboard
class ParisStyleAttributeInfo(modelInfo: GeneratedModelInfo, elements: Elements, types: Types, packageName: String, styleBuilderClassName: ClassName, styleBuilderElement: Element) : AttributeInfo
Represents a Paris Style option for a model.
ResourceProcessor
Link copied to clipboard
class ResourceProcessor
Scans R files and and compiles resource values in those R classes.
ResourceValue
Link copied to clipboard
class ResourceValue
Represents a resource used as an annotation parameter.
Timing
Link copied to clipboard
data class Timing(name: String, durationMs: Long, nestedTimings: List<Timing>, itemCount: Int?, isParallel: Boolean?)
Type
Link copied to clipboard
class Type(typeMirror: TypeMirror, typeMirrorAsString: String)
This helps to memoize the look up of a type's information.
ViewAttributeInfo
Link copied to clipboard
class ViewAttributeInfo(viewElement: TypeElement, viewPackage: String, hasDefaultKotlinValue: Boolean, viewAttributeElement: Element, types: Types, elements: Elements, logger: Logger, resourceProcessor: ResourceProcessor, memoizer: Memoizer) : AttributeInfo
ViewAttributeType
Link copied to clipboard
sealed class ViewAttributeType

Functions

appendToName
Link copied to clipboard
fun ClassName.appendToName(suffix: String): ClassName
Creates a new version of the classname where the simple name has the given suffix added to it.
areOverloads
Link copied to clipboard
fun areOverloads(e1: ExecutableElement, e2: ExecutableElement): Boolean
True if the two elements represent overloads of the same function in a class.
asTypeElement
Link copied to clipboard
fun ClassName.asTypeElement(elements: Elements): TypeElement?
fun Class<*>.asTypeElement(elements: Elements, types: Types): TypeElement
fun KClass<*>.asTypeElement(elements: Elements, types: Types): TypeElement
buildAnnotationSpecs
Link copied to clipboard
fun TypeElement.buildAnnotationSpecs(annotationFilter: (ClassName) -> Boolean): List<AnnotationSpec>
Returns a list of annotations specs representing annotations on the given type element.
ensureLoaded
Link copied to clipboard
fun <T : Element> T.ensureLoaded(): T
fun <T : TypeMirror> T.ensureLoaded(): T
executableElements
Link copied to clipboard
fun TypeElement.executableElements(): List<ExecutableElement>
findOverload
Link copied to clipboard
fun TypeElement.findOverload(element: ExecutableElement, paramCount: Int): ExecutableElement?
getAnnotation
Link copied to clipboard
inline fun <A : Annotation> Element.getAnnotation(): A?
getAnnotationThreadSafe
Link copied to clipboard
fun <A : Annotation> Element.getAnnotationThreadSafe(annotationClass: Class<A>): A?
getElementsAnnotatedWith
Link copied to clipboard
suspend fun RoundEnvironment.getElementsAnnotatedWith(logger: Logger, annotation: KClass<out Annotation>): Set<Element>
getTypeMirror
Link copied to clipboard
fun getTypeMirror(clazz: Class<*>, elements: Elements): TypeMirror
fun getTypeMirror(className: ClassName, elements: Elements, types: Types): TypeMirror
getTypeMirrorNullable
Link copied to clipboard
fun getTypeMirrorNullable(clazz: Class<*>, elements: Elements): TypeMirror?
fun getTypeMirrorNullable(canonicalName: String, elements: Elements): TypeMirror?
fun getTypeMirrorNullable(className: ClassName, elements: Elements, types: Types): TypeMirror?
hasAnyAnnotation
Link copied to clipboard
fun Element.hasAnyAnnotation(annotationClasses: List<KClass<out Annotation>>): Boolean
hasOverload
Link copied to clipboard
fun TypeElement.hasOverload(element: ExecutableElement, paramCount: Int): Boolean
isLambda
Link copied to clipboard
fun isLambda(type: JavaTypeName): Boolean
isTypeLoaded
Link copied to clipboard
fun Elements.isTypeLoaded(className: ClassName): Boolean
isVoidClass
Link copied to clipboard
fun TypeMirror.isVoidClass(): Boolean
iterateClassHierarchy
Link copied to clipboard
tailrec fun Element.iterateClassHierarchy(types: Types, classCallback: (classElement: TypeElement) -> Unit)
Return each of the classes in the class hierarchy, starting with the initial receiver and working upwards until Any.
iterateSuperClasses
Link copied to clipboard
fun Element.iterateSuperClasses(types: Types, classCallback: (classElement: TypeElement) -> Unit)
Iterate each super class of the receiver, starting with the initial super class and going until Any.
mutex
Link copied to clipboard
fun Any.mutex(): Mutex
putOrMerge
Link copied to clipboard
fun <K, V> MutableMap<K, V>.putOrMerge(key: K, value: V, reduceFunction: (V, V) -> V)
Similar to the java 8 Map#merge method.
setPackage
Link copied to clipboard
fun JavaClassName.setPackage(packageName: String): ClassName
superClassElement
Link copied to clipboard
fun TypeElement.superClassElement(types: Types): TypeElement?
synchronizedByElement
Link copied to clipboard
inline fun <R> synchronizedByElement(element: Element, block: () -> R): R
synchronizedByValue
Link copied to clipboard
inline fun <R> synchronizedByValue(value: Any, block: () -> R): R
synchronizedForTypeLookup
Link copied to clipboard
inline fun <R> synchronizedForTypeLookup(block: () -> R): R
toKModifier
Link copied to clipboard
fun Modifier.toKModifier(): KModifier?
fun Iterable<Modifier>.toKModifier(): List<KModifier>
toKParams
Link copied to clipboard
fun Iterable<JavaParameterSpec>.toKParams(): List<KotlinParameterSpec>
toKPoet
Link copied to clipboard
fun JavaAnnotationSpec.toKPoet(): KotlinAnnotationSpec?
fun JavaArrayTypeName.toKPoet(): KotlinTypeName
fun JavaClassName.toKPoet(): KotlinClassName
fun JavaParameterSpec.toKPoet(): KotlinParameterSpec
fun JavaParametrizedTypeName.toKPoet(): ParameterizedTypeName
fun JavaTypeVariableName.toKPoet(): TypeVariableName
fun JavaWildcardTypeName.toKPoet(): WildcardTypeName
fun <T : JavaTypeName> Iterable<T>.toKPoet(): List<KotlinTypeName>
fun JavaTypeName.toKPoet(nullable: Boolean = false): KotlinTypeName
toLowerCamelCase
Link copied to clipboard
fun String.toLowerCamelCase(): String
toUpperCamelCase
Link copied to clipboard
fun String.toUpperCamelCase(): String
typeMirror
Link copied to clipboard
fun typeMirror(block: () -> KClass<*>): TypeMirror?
typeNameSynchronized
Link copied to clipboard
fun TypeMirror.typeNameSynchronized(): TypeName
weakReferenceFieldForStyle
Link copied to clipboard
fun weakReferenceFieldForStyle(styleName: String): String
writeSynchronized
Link copied to clipboard
fun JavaFile.writeSynchronized(filer: Filer)
fun FileSpec.writeSynchronized(filer: Filer)

Properties

annotationMirrorsThreadSafe
Link copied to clipboard
val Element.annotationMirrorsThreadSafe: List<AnnotationMirror>
BUILDER_STYLE_METHOD_PREFIX
Link copied to clipboard
const val BUILDER_STYLE_METHOD_PREFIX: String
DEPRECATED
Link copied to clipboard
const val DEPRECATED: String
enclosedElementsThreadSafe
Link copied to clipboard
val Element.enclosedElementsThreadSafe: List<Element>
isVarArgsThreadSafe
Link copied to clipboard
val ExecutableElement.isVarArgsThreadSafe: Boolean
MODEL_BUILDER_INTERFACE_SUFFIX
Link copied to clipboard
const val MODEL_BUILDER_INTERFACE_SUFFIX: String
modifiersThreadSafe
Link copied to clipboard
val Element.modifiersThreadSafe: Set<Modifier>
parametersThreadSafe
Link copied to clipboard
PARIS_DEFAULT_STYLE_CONSTANT_NAME
Link copied to clipboard
const val PARIS_DEFAULT_STYLE_CONSTANT_NAME: String
PARIS_STYLE_ATTR_NAME
Link copied to clipboard
const val PARIS_STYLE_ATTR_NAME: String
synchronizationEnabled
Link copied to clipboard
var synchronizationEnabled: Boolean = false
typeLookupMutex
Link copied to clipboard
val typeLookupMutex: Mutex
typeParametersThreadSafe
Link copied to clipboard