All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.airbnb.epoxy.EpoxyDataBindingLayouts Maven / Gradle / Ivy

package com.airbnb.epoxy;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import androidx.annotation.LayoutRes;

/**
 * Used to specify a list of databinding layout resources that you want EpoxyModels generated for.
 * The models will be generated in the same package as this annotation. Every layout must be a valid
 * databinding layout. The name of the generated model will be based on the layout resource name.
 * 

* The layouts must not specify a custom databinding class name or package via the * class="com.example.CustomClassName" override in the layout xml. *

* Alternatively you can use {@link EpoxyDataBindingPattern} to avoid explicitly declaring each * layout. */ @Target(ElementType.TYPE) @Retention(RetentionPolicy.CLASS) public @interface EpoxyDataBindingLayouts { /** A list of databinding layout resources that should have EpoxyModel's generated for them. */ @LayoutRes int[] value(); /** * If true, any variable whose type does not implement equals and hashcode will have the * {@link EpoxyAttribute.Option#DoNotHash} behavior applied to them automatically. *

* This is generally helpful for listeners - other variables should almost always implement * equals and hashcode. *

* For details on the nuances of this, see https://github.com/airbnb/epoxy/wiki/DoNotHash */ boolean enableDoNotHash() default true; }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy