Subtrait of NamedEnum which requires its values to be Products and uses Product.productPrefix as
the name of each enum constant. In practice this means that all the objects extending AutoNamedEnum should
be case objects so that object names are automatically used as enum constant names.
That's because case classes and objects automatically implement Product and use their source
name as Product.productPrefix.
Subtrait of NamedEnum which requires its values to be
Product
s and usesProduct.productPrefix
as the name of each enum constant. In practice this means that all the objects extending AutoNamedEnum should becase object
s so that object names are automatically used as enum constant names. That's because case classes and objects automatically implementProduct
and use their source name asProduct.productPrefix
.