Skip to contentMethod: DilemmaDefaultMoveFactory()
      1: package de.fhdw.gaming.ipspiel23.dilemma.moves.internals;
2: 
3: import de.fhdw.gaming.ipspiel23.dilemma.domain.DilemmaAnswerType;
4: import de.fhdw.gaming.ipspiel23.dilemma.moves.IDilemmaMove;
5: import de.fhdw.gaming.ipspiel23.dilemma.moves.IDilemmaMoveFactory;
6: 
7: // no shit sherlock
8: /**
9:  * implements {@link IDilemmaMoveFactory}.
10:  */
11: public class DilemmaDefaultMoveFactory implements IDilemmaMoveFactory {
12: 
13:     @Override
14:     public DilemmaDefectMove createDefectMove() {
15:         return new DilemmaDefectMove();
16:     }
17: 
18:     @Override
19:     public DilemmaCooperateMove createCooperateMove() {
20:         return new DilemmaCooperateMove();
21:     }
22: 
23:     @Override
24:     public IDilemmaMove sameAs(final IDilemmaMove move) {
25:         return move.getAnswer().equals(DilemmaAnswerType.COOPERATE)
26:             ? createCooperateMove()
27:             : createDefectMove();
28:     }
29: 
30:     @Override
31:     public IDilemmaMove oppositeOf(final IDilemmaMove move) {
32:         return move.getAnswer().equals(DilemmaAnswerType.COOPERATE)
33:             ? createDefectMove()
34:             : createCooperateMove();
35:     }
36: 
37:     @Override
38:     public IDilemmaMove fromAnswer(final DilemmaAnswerType answer) {
39:         return answer.equals(DilemmaAnswerType.COOPERATE)
40:             ? createCooperateMove()
41:             : createDefectMove();
42:     }
43: }