package curam.inheritance;
import curam.inheritance.Dog;
import curam.inheritance.struct.DogDtls;
import curam.test.codetable.ANIMAL_TYPE;
class Dog extends Animal<Dog, DogDtls> implements Dog {
protected Dog() {
}
@Override
protected String getDiscriminatorValue() {
return ANIMAL_TYPE.DOG;
}
@Override
protected void mapBaseKeyToConcreteDtls() {
getConcreteRowDtls().animalID = getBaseRowDtls().animalID;
}
public String getFavouriteTrick() {
return getConcreteRowDtls().favouriteTrick;
}
public void setFavouriteTrick(final String value) {
getConcreteRowDtls().favouriteTrick = value;
}
public void speak() {
System.out.println("Woof! My name is " + getName()
+ " and I like to " + getFavouriteTrick());
}
public void setNewInstanceDefaults() {// none required
}
public void crossFieldValidation() {// none required
}
public void crossEntityValidation() {// none required
}
public void mandatoryFieldValidation() {// none required
}
}
The structure of this class is similar to CatImpl above.