1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package info.magnolia.ui.framework.app;
35
36 import info.magnolia.ui.api.app.AppContext;
37 import info.magnolia.ui.api.app.SubApp;
38 import info.magnolia.ui.api.app.SubAppContext;
39 import info.magnolia.ui.api.app.SubAppDescriptor;
40 import info.magnolia.ui.api.location.Location;
41 import info.magnolia.ui.api.overlay.OverlayLayer;
42 import info.magnolia.ui.api.shell.Shell;
43
44 import java.util.Locale;
45
46
47
48
49
50 public class SubAppContextImpl implements SubAppContext {
51
52 private SubApp subApp;
53
54 private String instanceId;
55
56 private Location location;
57
58 private SubAppDescriptor subAppDescriptor;
59
60 private Locale authoringLocale;
61
62 private AppContext appContext;
63
64 private Shell shell;
65
66 public SubAppContextImpl(SubAppDescriptor subAppDescriptor, Shell shell) {
67 this.subAppDescriptor = subAppDescriptor;
68 this.shell = shell;
69 }
70
71 @Override
72 public SubAppDescriptor getSubAppDescriptor() {
73 return subAppDescriptor;
74 }
75
76 @Override
77 public AppContext getAppContext() {
78 return appContext;
79 }
80
81 @Override
82 public void setAppContext(AppContext appContext) {
83 this.appContext = appContext;
84 }
85
86 @Override
87 public SubApp getSubApp() {
88 return subApp;
89 }
90
91 @Override
92 public void setSubApp(SubApp subApp) {
93 this.subApp = subApp;
94 }
95
96 @Override
97 public String getSubAppId() {
98 return subAppDescriptor.getName();
99 }
100
101 @Override
102 public Location getLocation() {
103 return location;
104 }
105
106 @Override
107 public void setLocation(Location location) {
108 this.location = location;
109 }
110
111 @Override
112 public String getInstanceId() {
113 return instanceId;
114 }
115
116 @Override
117 public void setInstanceId(String instanceId) {
118 this.instanceId = instanceId;
119 }
120
121 @Override
122 public Locale getAuthoringLocale() {
123 return authoringLocale;
124 }
125
126 @Override
127 public void setAuthoringLocale(Locale authoringLocale) {
128 this.authoringLocale = authoringLocale;
129 }
130
131 @Override
132 public void close() {
133 appContext.closeSubApp(instanceId);
134 }
135
136 protected Shell getShell() {
137 return shell;
138 }
139
140 @Override
141 public OverlayLayer getOverlayDelegate() {
142 return shell;
143 }
144 }