enhance(goal): make goal interface use polymorphism
closes: #35 (closed)
What are the key features of this change
Made goal use the generic T and created a method getFulfillmentCriteria
which returns T.
All subclasses have implemented this method.
Created tests for getting this value.
Checklist
-
Javadoc -
Relevant tests have been created -
Build tool test passed -
Class version is updated where relevant