01: /*
02: * JBoss, Home of Professional Open Source.
03: * Copyright 2006, Red Hat Middleware LLC, and individual contributors
04: * as indicated by the @author tags. See the copyright.txt file in the
05: * distribution for a full listing of individual contributors.
06: *
07: * This is free software; you can redistribute it and/or modify it
08: * under the terms of the GNU Lesser General Public License as
09: * published by the Free Software Foundation; either version 2.1 of
10: * the License, or (at your option) any later version.
11: *
12: * This software is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of
14: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15: * Lesser General Public License for more details.
16: *
17: * You should have received a copy of the GNU Lesser General Public
18: * License along with this software; if not, write to the Free
19: * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20: * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
21: */
22: package org.jboss.test.xml.immutable;
23:
24: /**
25: * @author <a href="mailto:alex@jboss.org">Alexey Loubyansky</a>
26: * @version <tt>$Revision: 57211 $</tt>
27: */
28: public class ImmutableChoice {
29: private final String choice1;
30: private final Child1 child1;
31:
32: public ImmutableChoice(String choice1) {
33: this .choice1 = choice1;
34: this .child1 = null;
35: }
36:
37: public ImmutableChoice(Child1 choice2) {
38: this .choice1 = null;
39: this .child1 = choice2;
40: }
41:
42: public String getChoice1() {
43: return choice1;
44: }
45:
46: public Child1 getChild1() {
47: return child1;
48: }
49:
50: public boolean equals(Object o) {
51: if (this == o) {
52: return true;
53: }
54: if (!(o instanceof ImmutableChoice)) {
55: return false;
56: }
57:
58: final ImmutableChoice immutableChoice = (ImmutableChoice) o;
59:
60: if (choice1 != null ? !choice1.equals(immutableChoice.choice1)
61: : immutableChoice.choice1 != null) {
62: return false;
63: }
64: if (child1 != null ? !child1.equals(immutableChoice.child1)
65: : immutableChoice.child1 != null) {
66: return false;
67: }
68:
69: return true;
70: }
71:
72: public int hashCode() {
73: int result;
74: result = (choice1 != null ? choice1.hashCode() : 0);
75: result = 29 * result + (child1 != null ? child1.hashCode() : 0);
76: return result;
77: }
78:
79: public String toString() {
80: return "[choice1=" + choice1 + ", child1=" + child1 + "]";
81: }
82: }
|