01: /*
02: * Copyright 2005 Joe Walker
03: *
04: * Licensed under the Apache License, Version 2.0 (the "License");
05: * you may not use this file except in compliance with the License.
06: * You may obtain a copy of the License at
07: *
08: * http://www.apache.org/licenses/LICENSE-2.0
09: *
10: * Unless required by applicable law or agreed to in writing, software
11: * distributed under the License is distributed on an "AS IS" BASIS,
12: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13: * See the License for the specific language governing permissions and
14: * limitations under the License.
15: */
16: package org.directwebremoting.proxy;
17:
18: /**
19: * A simple wrapper around a String to indicate that this string is executable
20: * Javascript and should not be quoted and escaped when it is passed to the
21: * client.
22: * @author Joe Walker [joe at getahead dot ltd dot uk]
23: */
24: public class CodeBlock {
25: /**
26: * CodeBlocks are immutable wrappers around strings
27: * @param code The javascript code block to send to the client
28: */
29: public CodeBlock(String code) {
30: this .code = code;
31: }
32:
33: /**
34: * Accessor for the (read-only) code block
35: * @return The code that this block wraps
36: */
37: public String getCode() {
38: return code;
39: }
40:
41: /* (non-Javadoc)
42: * @see java.lang.Object#hashCode()
43: */
44: @Override
45: public int hashCode() {
46: return 397 + code.hashCode();
47: }
48:
49: /* (non-Javadoc)
50: * @see java.lang.Object#equals(java.lang.Object)
51: */
52: @Override
53: public boolean equals(Object obj) {
54: if (obj == null) {
55: return false;
56: }
57:
58: if (obj == this ) {
59: return true;
60: }
61:
62: if (!this .getClass().equals(obj.getClass())) {
63: return false;
64: }
65:
66: CodeBlock that = (CodeBlock) obj;
67:
68: return this .code.equals(that.code);
69: }
70:
71: /**
72: * The code block to send to the client
73: */
74: private String code;
75: }
|