*/ final readonly class IncoComposition implements Entity { private function __construct( public IncoCompositionId $id, public IncoId $idInco, public Identification $identification, public Energy $energy, public ReferenceMacronutrients $referenceMacronutrients, public PortionMacronutrients $portionMacronutrients, public FreshProduceAndNuts $freshProduceAndNuts, public ReferenceIntakes $referenceIntakes, public NutriScore $nutriScore, public NutriScorePoints $nutriScorePoints, public Minerals $minerals, public Vitamins $vitamins, public CarbohydratesDetail $carbohydratesDetail, public FattyAcids $fattyAcids, public AminoAcids $aminoAcids, public SpecialCompounds $specialCompounds, ) { } #[\Override] public function id(): IncoCompositionId { return $this->id; } public static function builder(): IncoCompositionBuilder { return new IncoCompositionBuilder(); } public static function hydrate( IncoCompositionId $id, IncoId $idInco, Identification $identification, Energy $energy, ReferenceMacronutrients $referenceMacronutrients, PortionMacronutrients $portionMacronutrients, FreshProduceAndNuts $freshProduceAndNuts, ReferenceIntakes $referenceIntakes, NutriScore $nutriScore, NutriScorePoints $nutriScorePoints, Minerals $minerals, Vitamins $vitamins, CarbohydratesDetail $carbohydratesDetail, FattyAcids $fattyAcids, AminoAcids $aminoAcids, SpecialCompounds $specialCompounds, ): self { return new self( id: $id, idInco: $idInco, identification: $identification, energy: $energy, referenceMacronutrients: $referenceMacronutrients, portionMacronutrients: $portionMacronutrients, freshProduceAndNuts: $freshProduceAndNuts, referenceIntakes: $referenceIntakes, nutriScore: $nutriScore, nutriScorePoints: $nutriScorePoints, minerals: $minerals, vitamins: $vitamins, carbohydratesDetail: $carbohydratesDetail, fattyAcids: $fattyAcids, aminoAcids: $aminoAcids, specialCompounds: $specialCompounds, ); } }