KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > tcsimulator > ApplicationConfigImpl


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.tcsimulator;
5
6 import org.apache.commons.lang.builder.HashCodeBuilder;
7
8 import com.tc.object.config.ConfigVisitor;
9 import com.tc.object.config.DSOApplicationConfig;
10 import com.tc.objectserver.control.ServerControl;
11 import com.tc.simulator.app.ApplicationConfig;
12
13 import java.util.HashMap JavaDoc;
14 import java.util.Map JavaDoc;
15
16 public class ApplicationConfigImpl implements ApplicationConfig {
17
18   private final String JavaDoc applicatonClassname;
19   private final int intensity;
20   private final int globalParticipantCount;
21   private final Map JavaDoc attributes;
22   private int hashCode;
23
24   public static void visitDSOApplicationConfig(ConfigVisitor visitor, DSOApplicationConfig config) {
25     String JavaDoc classname = ApplicationConfigImpl.class.getName();
26     config.addIncludePattern(classname);
27     config.addWriteAutolock("* " + classname + ".*(..)");
28   }
29   
30   public ApplicationConfigImpl(String JavaDoc applicatonClassname, int intensity, int globalParticipantCount) {
31     this.applicatonClassname = applicatonClassname;
32     this.intensity = intensity;
33     this.globalParticipantCount = globalParticipantCount;
34     attributes = new HashMap JavaDoc();
35     hashCode = new HashCodeBuilder(17, 37).append(this.applicatonClassname).append(intensity).append(globalParticipantCount)
36         .append(attributes).toHashCode();
37   }
38
39   public String JavaDoc getApplicationClassname() {
40     return this.applicatonClassname;
41   }
42
43   public int getIntensity() {
44     return intensity;
45   }
46
47   public int getGlobalParticipantCount() {
48     return this.globalParticipantCount;
49   }
50
51   public boolean equals(ApplicationConfig appconfig) {
52     return applicatonClassname.equals(appconfig.getApplicationClassname()) && intensity == appconfig.getIntensity()
53            && globalParticipantCount == appconfig.getGlobalParticipantCount();
54   }
55
56   public int hashCode() {
57     return hashCode;
58   }
59
60   public void setAttribute(String JavaDoc key, String JavaDoc value) {
61     attributes.put(key, value);
62   }
63
64   public String JavaDoc getAttribute(String JavaDoc key) {
65     return (String JavaDoc) attributes.get(key);
66   }
67   
68   public ApplicationConfig copy() {
69     return new ApplicationConfigImpl(applicatonClassname, intensity, globalParticipantCount);
70   }
71
72   public ServerControl getServerControl() {
73     throw new UnsupportedOperationException JavaDoc("not implemented, should not be used");
74   }
75 }
76
Popular Tags