package com.airbnb.epoxy;
/**
* Stores configuration settings for a package.
*/
class PackageConfigSettings {
final boolean requireHashCode;
final boolean requireAbstractModels;
final boolean implicitlyAddAutoModels;
private PackageConfigSettings(boolean requireHashCode, boolean requireAbstractModels,
boolean implicitlyAddAutoModels) {
this.requireHashCode = requireHashCode;
this.requireAbstractModels = requireAbstractModels;
this.implicitlyAddAutoModels = implicitlyAddAutoModels;
}
static PackageConfigSettings forDefaults() {
return new PackageConfigSettings(
PackageEpoxyConfig.REQUIRE_HASHCODE_DEFAULT,
PackageEpoxyConfig.REQUIRE_ABSTRACT_MODELS_DEFAULT,
PackageEpoxyConfig.IMPLICITLY_ADD_AUTO_MODELS_DEFAULT
);
}
static PackageConfigSettings create(PackageEpoxyConfig configAnnotation) {
return new PackageConfigSettings(
configAnnotation.requireHashCode(),
configAnnotation.requireAbstractModels(),
configAnnotation.implicitlyAddAutoModels());
}
}