1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.jetspeed.om.portlet.impl;
18
19 import javax.portlet.WindowState;
20
21 import org.apache.jetspeed.om.common.portlet.CustomWindowState;
22
23 public class CustomWindowStateImpl implements CustomWindowState
24 {
25 /*** The application id. */
26 protected long appId;
27
28 protected long id;
29
30 protected String customName;
31
32 protected String mappedName;
33
34 protected String description;
35
36 protected transient WindowState customState;
37
38 protected transient WindowState mappedState;
39
40 public CustomWindowStateImpl()
41 {
42 }
43
44 public void setCustomName(String customName)
45 {
46 if (customName == null)
47 {
48 throw new IllegalArgumentException("CustomName is required");
49 }
50 else if ( this.customName != null )
51 {
52 throw new IllegalStateException("CustomName already set");
53 }
54 this.customName = customName.toLowerCase();
55 }
56
57 public void setDescription(String description)
58 {
59 this.description = description;
60 }
61
62 public void setMappedName(String mappedName)
63 {
64 if ( this.mappedName != null || this.mappedState != null )
65 {
66 throw new IllegalArgumentException("MappedName already set");
67 }
68 else if ( mappedName != null )
69 {
70 this.mappedName = mappedName.toLowerCase();
71 }
72 }
73
74 public WindowState getCustomState()
75 {
76 if (customState == null)
77 {
78 customState = new WindowState(customName);
79 }
80 return customState;
81 }
82
83 public WindowState getMappedState()
84 {
85 if (mappedState == null)
86 {
87 if (mappedName != null)
88 {
89 mappedState = new WindowState(mappedName);
90 } else
91 {
92 mappedState = getCustomState();
93 }
94 }
95 return mappedState;
96 }
97
98 public String getDescription()
99 {
100 return description;
101 }
102
103 public int hashCode()
104 {
105 return customName != null ? customName.hashCode() : super.hashCode();
106 }
107
108 public boolean equals(Object object)
109 {
110 if (object instanceof CustomWindowStateImpl)
111 return customName.equals(((CustomWindowStateImpl) object).customName);
112 else
113 return false;
114 }
115 }