KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > tc > lang > EqualsBuilderTracer


1 /*
2  * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
3  */

4 package com.tc.lang;
5
6 import com.tc.logging.TCLogger;
7 import com.tc.logging.TCLogging;
8 import com.tc.util.Assert;
9
10 public class EqualsBuilderTracer extends TCEqualsBuilder {
11
12   private static final TCLogger logger = TCLogging.getLogger(EqualsBuilderTracer.class);
13
14   private TCEqualsBuilder delegate;
15
16   public EqualsBuilderTracer() {
17     delegate = new TCEqualsBuilder();
18   }
19
20   public EqualsBuilderTracer(TCEqualsBuilder v) {
21     Assert.assertNotNull(v);
22     delegate = v;
23   }
24
25   public TCEqualsBuilder append(boolean arg0, boolean arg1) {
26     delegate = delegate.append(arg0, arg1);
27     if (logger.isDebugEnabled()) checkAndLog("boolean", String.valueOf(arg0), String.valueOf(arg1));
28     return this;
29   }
30
31   public TCEqualsBuilder append(boolean[] arg0, boolean[] arg1) {
32     delegate = delegate.append(arg0, arg1);
33     if (logger.isDebugEnabled()) checkAndLog("boolean[]", String.valueOf(arg0), String.valueOf(arg1));
34     return this;
35   }
36
37   public TCEqualsBuilder append(byte arg0, byte arg1) {
38     delegate = delegate.append(arg0, arg1);
39     if (logger.isDebugEnabled()) checkAndLog("byte", String.valueOf(arg0), String.valueOf(arg1));
40     return this;
41   }
42
43   public TCEqualsBuilder append(byte[] arg0, byte[] arg1) {
44     delegate = delegate.append(arg0, arg1);
45     if (logger.isDebugEnabled()) checkAndLog("byte[]", String.valueOf(arg0), String.valueOf(arg1));
46     return this;
47   }
48
49   public TCEqualsBuilder append(char arg0, char arg1) {
50     delegate = delegate.append(arg0, arg1);
51     if (logger.isDebugEnabled()) checkAndLog("char", String.valueOf(arg0), String.valueOf(arg1));
52     return this;
53   }
54
55   public TCEqualsBuilder append(char[] arg0, char[] arg1) {
56     delegate = delegate.append(arg0, arg1);
57     if (logger.isDebugEnabled()) checkAndLog("char[]", String.valueOf(arg0), String.valueOf(arg1));
58     return this;
59   }
60
61   public TCEqualsBuilder append(double arg0, double arg1) {
62     delegate = delegate.append(arg0, arg1);
63     if (logger.isDebugEnabled()) checkAndLog("double", String.valueOf(arg0), String.valueOf(arg1));
64     return this;
65   }
66
67   public TCEqualsBuilder append(double[] arg0, double[] arg1) {
68     delegate = delegate.append(arg0, arg1);
69     if (logger.isDebugEnabled()) checkAndLog("double[]", String.valueOf(arg0), String.valueOf(arg1));
70     return this;
71   }
72
73   public TCEqualsBuilder append(float arg0, float arg1) {
74     delegate = delegate.append(arg0, arg1);
75     if (logger.isDebugEnabled()) checkAndLog("float", String.valueOf(arg0), String.valueOf(arg1));
76     return this;
77   }
78
79   public TCEqualsBuilder append(float[] arg0, float[] arg1) {
80     delegate = delegate.append(arg0, arg1);
81     if (logger.isDebugEnabled()) checkAndLog("float[]", String.valueOf(arg0), String.valueOf(arg1));
82     return this;
83   }
84
85   public TCEqualsBuilder append(int arg0, int arg1) {
86     delegate = delegate.append(arg0, arg1);
87     if (logger.isDebugEnabled()) checkAndLog("int", String.valueOf(arg0), String.valueOf(arg1));
88     return this;
89   }
90
91   public TCEqualsBuilder append(int[] arg0, int[] arg1) {
92     delegate = delegate.append(arg0, arg1);
93     if (logger.isDebugEnabled()) checkAndLog("int[]", String.valueOf(arg0), String.valueOf(arg1));
94     return this;
95   }
96
97   public TCEqualsBuilder append(long arg0, long arg1) {
98     delegate = delegate.append(arg0, arg1);
99     if (logger.isDebugEnabled()) checkAndLog("long", String.valueOf(arg0), String.valueOf(arg1));
100     return this;
101   }
102
103   public TCEqualsBuilder append(long[] arg0, long[] arg1) {
104     delegate = delegate.append(arg0, arg1);
105     if (logger.isDebugEnabled()) checkAndLog("long[]", String.valueOf(arg0), String.valueOf(arg1));
106     return this;
107   }
108
109   public TCEqualsBuilder append(Object JavaDoc arg0, Object JavaDoc arg1) {
110     delegate = delegate.append(arg0, arg1);
111     if (logger.isDebugEnabled()) checkAndLog(getTypeName(arg0, arg1), String.valueOf(arg0), String.valueOf(arg1));
112     return this;
113   }
114
115   public TCEqualsBuilder append(Object JavaDoc[] arg0, Object JavaDoc[] arg1) {
116     delegate = delegate.append(arg0, arg1);
117     if (logger.isDebugEnabled()) checkAndLog(getTypeName(arg0, arg1), String.valueOf(arg0), String.valueOf(arg1));
118     return this;
119   }
120
121   public TCEqualsBuilder append(short arg0, short arg1) {
122     delegate = delegate.append(arg0, arg1);
123     if (logger.isDebugEnabled()) checkAndLog("short", String.valueOf(arg0), String.valueOf(arg1));
124     return this;
125   }
126
127   public TCEqualsBuilder append(short[] arg0, short[] arg1) {
128     delegate = delegate.append(arg0, arg1);
129     if (logger.isDebugEnabled()) checkAndLog("short[]", String.valueOf(arg0), String.valueOf(arg1));
130     return this;
131   }
132
133   public TCEqualsBuilder appendSuper(boolean arg0) {
134     delegate = delegate.appendSuper(arg0);
135     if (logger.isDebugEnabled()) checkAndLog("super", "<n/a>", "<n/a>");
136     return this;
137   }
138
139   public boolean isEquals() {
140     return delegate.isEquals();
141   }
142
143   private void checkAndLog(String JavaDoc type, String JavaDoc val1, String JavaDoc val2) {
144     if (!delegate.isEquals()) {
145       logger.debug("Objects not equal: type = " + type + ", val1=" + val1 + ", val2=" + val2,
146                    new Throwable JavaDoc("StackTrace"));
147     }
148   }
149
150   private String JavaDoc getTypeName(Object JavaDoc o) {
151     if (o == null) {
152       return "<null>";
153     } else {
154       return o.getClass().getName();
155     }
156   }
157
158   private String JavaDoc getTypeName(Object JavaDoc o1, Object JavaDoc o2) {
159     return getTypeName(o1) + "/" + getTypeName(o2);
160   }
161
162 }
Popular Tags