case class Cow(animalId: Long, gender: AnimalGender, birthDate: LocalDate, animalEarTag: Option[String] = None, animalFarmName: Option[String] = None, animalFarmNumber: Option[Int] = None, geneticDamEarTag: Option[String] = None, geneticDamIdentifier: Option[Int] = None, sireEarTag: Option[String] = None, sireIdentifier: Option[Int] = None, animalLegalIdentifier: Option[String] = None, animalISORFIDStartingManufacturer: Option[String] = None, animalISORFIDStartingCountryCode: Option[String] = None, animalHerdBookName: Option[String] = None, animalUSDA: Option[String] = None, animalDHIA: Option[String] = None, recipientDamIdentifier: Option[Int] = None, breed: ListBuffer[BreedPart] = scala.collection.mutable.ListBuffer(new BreedPart("HOL", 0.99)), bornOnFarm: Option[Boolean] = None, timelineEvents: List[TimelineEvent[_ <: TimelineEventMetadata]] = Nil) extends Product with Serializable
A class to represent a Cow.
Specify at least an AnimalIdentifier
, Gender
, and BirthDate
when creating a new Cow
Every cow needs at least one event in their timeline.
- animalId
The primary and unique animals's identifier within the entire herd in MmmooOgle. " It can be possible that animals in different datasources exist with different identifiers.
- gender
The animal's gender (male/female), based upon ICAR Enumeration for sex of animal using species-independent English names. Includes neuter/cryptorchid variations.
- birthDate
Day animal was born as recorded by the farmer, format YYYY-MM-DD, should not include time, may not coincide with true birthdate, example 2002-15-19
- animalEarTag
The animal's ear tag number, which is official & unique in most but not all countries. European law dictates that every individual cow needs to be identified by an unique ‘official’ ear tag, in consequence, an identifier similar to the social security number has been created. In Europe every cow gets an unique number assigned after birth notification, this number is then used on the individual identification document and on the official ear tag (EG 911/2004 //EG1760/2000). The official ear tag remains linked to the animal for the rest of its life. This implies the use of the official ear tag as a reliable identifier. The official ear tag is unique (no two cows have the same number), is singular (no cow has two numbers), is total (every cow has one) and is stable (the same number always identifies the same cow) (Kent, 1991).
- animalFarmName
The animal's name most commonly used on the farm, aka BarnName.
- animalFarmNumber
The animal's number most commonly used on the farm (also called work number), for instance displayed on collar or as a burnmark, can be re-used over time on the farm.
- geneticDamEarTag
The animal's dam ear tag number.
- geneticDamIdentifier
The animal's dam identifier. (from the MmmooOgle system?).
- sireEarTag
The animal's sire ear tag number.
- sireIdentifier
The animal's sire identifier (from the MmmooOgle system?).
- animalLegalIdentifier
In EU countries this will be the same as the AnimalEartag.
- animalISORFIDStartingManufacturer
ISO RFID tag starting with manufacturer code.
- animalISORFIDStartingCountryCode
ISO RFID tag starting with country code https://en.wikipedia.org/wiki/ISO_11784_%26_11785.
- animalHerdBookName
A name given to the animal by an offcial herdbook.
- animalUSDA
A number used by the US department of agriculture for animal identification https://www.aphis.usda.gov/aphis/ourfocus/animalhealth/nvap/NVAP-Reference-Guide/Animal-Identification/Animal-Identification.
- animalDHIA
A number used by the US http://www.dhia.org.
- recipientDamIdentifier
The animal's surrogate dam identifier, only applies when cow was born with the use of assisted reproductive technologies like in vitro embryo production or embryo transfer.
- breed
The animal's breed expressed in a list of
BreedPart
. When UNKNOWN, the default is put as 99% HOL.- bornOnFarm
Boolean indicating if the animal was born on the herd linked to the herd identifier.
- timelineEvents
List of all the events belonging to the cow, events must be part of the predifined events with the predefined metadata.
- Alphabetic
- By Inheritance
- Cow
- Serializable
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new Cow(animalId: Long, gender: AnimalGender, birthDate: LocalDate, animalEarTag: Option[String] = None, animalFarmName: Option[String] = None, animalFarmNumber: Option[Int] = None, geneticDamEarTag: Option[String] = None, geneticDamIdentifier: Option[Int] = None, sireEarTag: Option[String] = None, sireIdentifier: Option[Int] = None, animalLegalIdentifier: Option[String] = None, animalISORFIDStartingManufacturer: Option[String] = None, animalISORFIDStartingCountryCode: Option[String] = None, animalHerdBookName: Option[String] = None, animalUSDA: Option[String] = None, animalDHIA: Option[String] = None, recipientDamIdentifier: Option[Int] = None, breed: ListBuffer[BreedPart] = scala.collection.mutable.ListBuffer(new BreedPart("HOL", 0.99)), bornOnFarm: Option[Boolean] = None, timelineEvents: List[TimelineEvent[_ <: TimelineEventMetadata]] = Nil)
Create a new cow with an
AnimalIdentifier
,Gender
, andBirthDate
.Create a new cow with an
AnimalIdentifier
,Gender
, andBirthDate
.- animalId
The primary and unique animals's identifier within the entire herd in MmmooOgle. " It can be possible that animals in different datasources exist with different identifiers.
- gender
The animal's gender (male/female), based upon ICAR Enumeration for sex of animal using species-independent English names. Includes neuter/cryptorchid variations.
- birthDate
Day animal was born as recorded by the farmer, format YYYY-MM-DD, should not include time, may not coincide with true birthdate, example 2002-15-19
- animalEarTag
The animal's ear tag number, which is official & unique in most but not all countries. European law dictates that every individual cow needs to be identified by an unique ‘official’ ear tag, in consequence, an identifier similar to the social security number has been created. In Europe every cow gets an unique number assigned after birth notification, this number is then used on the individual identification document and on the official ear tag (EG 911/2004 //EG1760/2000). The official ear tag remains linked to the animal for the rest of its life. This implies the use of the official ear tag as a reliable identifier. The official ear tag is unique (no two cows have the same number), is singular (no cow has two numbers), is total (every cow has one) and is stable (the same number always identifies the same cow) (Kent, 1991).
- animalFarmName
The animal's name most commonly used on the farm, aka BarnName.
- animalFarmNumber
The animal's number most commonly used on the farm (also called work number), for instance displayed on collar or as a burnmark, can be re-used over time on the farm.
- geneticDamEarTag
The animal's dam ear tag number.
- geneticDamIdentifier
The animal's dam identifier. (from the MmmooOgle system?).
- sireEarTag
The animal's sire ear tag number.
- sireIdentifier
The animal's sire identifier (from the MmmooOgle system?).
- animalLegalIdentifier
In EU countries this will be the same as the AnimalEartag.
- animalISORFIDStartingManufacturer
ISO RFID tag starting with manufacturer code.
- animalISORFIDStartingCountryCode
ISO RFID tag starting with country code https://en.wikipedia.org/wiki/ISO_11784_%26_11785.
- animalHerdBookName
A name given to the animal by an offcial herdbook.
- animalUSDA
A number used by the US department of agriculture for animal identification https://www.aphis.usda.gov/aphis/ourfocus/animalhealth/nvap/NVAP-Reference-Guide/Animal-Identification/Animal-Identification.
- animalDHIA
A number used by the US http://www.dhia.org.
- recipientDamIdentifier
The animal's surrogate dam identifier, only applies when cow was born with the use of assisted reproductive technologies like in vitro embryo production or embryo transfer.
- breed
The animal's breed expressed in a list of
BreedPart
. When UNKNOWN, the default is put as 99% HOL.- bornOnFarm
Boolean indicating if the animal was born on the herd linked to the herd identifier.
- timelineEvents
List of all the events belonging to the cow, events must be part of the predifined events with the predefined metadata.
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- val animalDHIA: Option[String]
- val animalEarTag: Option[String]
- val animalFarmName: Option[String]
- val animalFarmNumber: Option[Int]
- val animalHerdBookName: Option[String]
- val animalISORFIDStartingCountryCode: Option[String]
- val animalISORFIDStartingManufacturer: Option[String]
- val animalId: Long
- val animalLegalIdentifier: Option[String]
- val animalUSDA: Option[String]
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val birthDate: LocalDate
- val bornOnFarm: Option[Boolean]
- val breed: ListBuffer[BreedPart]
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- val gender: AnimalGender
- val geneticDamEarTag: Option[String]
- val geneticDamIdentifier: Option[Int]
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- val recipientDamIdentifier: Option[Int]
- val sireEarTag: Option[String]
- val sireIdentifier: Option[Int]
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val timelineEvents: List[TimelineEvent[_ <: TimelineEventMetadata]]
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)