processEntityAnnotations();
processPropertyAnnotations();
}
private void processEntityAnnotations() {
PlanningEntity planningEntityAnnotation = planningEntityClass.getAnnotation(PlanningEntity.class);
if (planningEntityAnnotation == null) {
throw new IllegalStateException("The planningEntityClass (" + planningEntityClass
+ ") has been specified as a planning entity in the configuration," +
" but does not have a PlanningEntity annotation.");
}
Class<? extends Comparator> difficultyComparatorClass = planningEntityAnnotation.difficultyComparatorClass();
if (difficultyComparatorClass == PlanningEntity.NullDifficultyComparator.class) {
difficultyComparatorClass = null;
}
Class<? extends PlanningEntityDifficultyWeightFactory> difficultyWeightFactoryClass
= planningEntityAnnotation.difficultyWeightFactoryClass();
if (difficultyWeightFactoryClass == PlanningEntity.NullDifficultyWeightFactory.class) {
difficultyWeightFactoryClass = null;
}
if (difficultyComparatorClass != null && difficultyWeightFactoryClass != null) {
throw new IllegalStateException("The planningEntityClass (" + planningEntityClass