1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package br.com.arsmachina.tapestrycrud.components;
16
17
18 import org.apache.tapestry5.BindingConstants;
19 import org.apache.tapestry5.annotations.Parameter;
20 import org.apache.tapestry5.annotations.Property;
21 import org.apache.tapestry5.annotations.SupportsInformalParameters;
22 import org.apache.tapestry5.corelib.base.AbstractLink;
23 import org.apache.tapestry5.ioc.annotations.Inject;
24
25 import br.com.arsmachina.tapestrycrud.encoder.ActivationContextEncoder;
26 import br.com.arsmachina.tapestrycrud.encoder.Encoder;
27 import br.com.arsmachina.tapestrycrud.services.ActivationContextEncoderSource;
28
29
30
31
32
33
34
35
36 @SupportsInformalParameters
37 public class ActivationContextPageLink extends AbstractLink {
38
39
40
41
42 @SuppressWarnings("unused")
43 @Parameter(required = true, defaultPrefix = BindingConstants.LITERAL)
44 @Property
45 private String page;
46
47
48
49
50 @Parameter(required = true)
51 private Object object;
52
53 @Inject
54 private ActivationContextEncoderSource activationContextEncoderSource;
55
56 @SuppressWarnings("unchecked")
57 public Object getContext() {
58
59 ActivationContextEncoder encoder;
60 encoder = activationContextEncoderSource.get(object.getClass());
61 return encoder.toActivationContext(object);
62
63 }
64
65 }