If a class is declared with an enum as given
abstract shared class Gender(shared String gender) of m | f {
string => gender;
}
shared object m extends Gender("M"){}
shared object f extends Gender("F"){}
shared class Person(shared Integer id, shared String firstName, shared String lastName, shared Gender gender) {}
where Gender is an enum.
Then, what is the correct way to write a JDBC row-mapper
shared RowMapper<Person> person_row_mapper = object satisfies RowMapper<Person> {
shared actual Person map(ResultSet rs) {
Person person = Person(
rs.getLong(personId.columnName),
rs.getString(firstName.columnName),
rs.getString(lastName.columnName),
////object extends Gender( rs.getString(sex.columnName) ) {}
//this does not work.... because Gender can only be of type m or f
);
return person;
}
};