1 package net.sf.josceleton.core.impl.entity;
2
3 import net.sf.josceleton.core.api.entity.Coordinate;
4 import net.sf.josceleton.core.api.entity.User;
5 import net.sf.josceleton.core.api.entity.UserState;
6 import net.sf.josceleton.core.api.entity.joint.Joint;
7 import net.sf.josceleton.core.api.entity.message.JointMessage;
8 import net.sf.josceleton.core.api.entity.message.UserMessage;
9 import net.sf.josceleton.core.impl.entity.message.JointMessageFactory;
10 import net.sf.josceleton.core.impl.entity.message.UserMessageFactory;
11
12 import com.google.inject.Inject;
13
14 class FactoryFacadeImpl implements FactoryFacade {
15
16 private final CoordinateFactory coordinateFactory;
17
18 private final JointMessageFactory jointMessageFactory;
19
20 private final UserMessageFactory userMessageFactory;
21
22
23 @Inject FactoryFacadeImpl(
24 final CoordinateFactory coordinateFactory,
25 final JointMessageFactory jointMessageFactory,
26 final UserMessageFactory userMessageFactory) {
27 this.coordinateFactory = coordinateFactory;
28 this.jointMessageFactory = jointMessageFactory;
29 this.userMessageFactory = userMessageFactory;
30 }
31
32
33
34 @Override public final Coordinate createCoordinate(final float x, final float y, final float z) {
35 return this.coordinateFactory.create(x, y, z);
36 }
37
38
39 @Override public final JointMessage createJointMessage(final User user, final Joint joint,
40 final Coordinate coordinate) {
41 return this.jointMessageFactory.create(user, joint, coordinate);
42 }
43
44
45 @Override public final UserMessage createUserMessage(final User user, final UserState userState) {
46 return this.userMessageFactory.create(user, userState);
47 }
48
49 }