Author: andreas
Date: Sun Aug 19 14:34:14 2007
New Revision: 567479
URL: http://svn.apache.org/viewvc?rev=567479&view=rev
Log:
Performance optimization in Query class
Modified:
lenya/trunk/src/java/org/apache/lenya/util/Query.java
Modified: lenya/trunk/src/java/org/apache/lenya/util/Query.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/java/org/apache/lenya/util/Query.java?rev=567479&r1=567478&r2=567479&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/util/Query.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/util/Query.java Sun Aug 19 14:34:14 2007
@@ -36,7 +36,6 @@
protected static final String PAIR_DELIMITER = "&";
protected static final String KEY_VALUE_DELIMITER = "=";
- private String string;
private String pairDelimiter;
private String keyValueDelimiter;
@@ -57,31 +56,24 @@
* @param keyValueDelimiter The delimiter between key and value.
*/
public Query(String string, String pairDelimiter, String keyValueDelimiter) {
- this.string = string;
+ this.key2value = new HashMap();
this.pairDelimiter = pairDelimiter;
this.keyValueDelimiter = keyValueDelimiter;
- }
-
- private Map key2value;
-
- protected void analyze() {
- if (this.key2value == null) {
- this.key2value = new HashMap();
- StringTokenizer tokenizer = new StringTokenizer(this.string, getPairDelimiter());
- while (tokenizer.hasMoreTokens()) {
- String token = tokenizer.nextToken();
- StringTokenizer keyValueTokenizer = new StringTokenizer(token, getKeyValueDelimiter());
- if (keyValueTokenizer.countTokens() == 2) {
- final String key = keyValueTokenizer.nextToken();
- final String value = keyValueTokenizer.nextToken();
- this.key2value.put(key, value);
- }
+ StringTokenizer tokenizer = new StringTokenizer(string, pairDelimiter);
+ while (tokenizer.hasMoreTokens()) {
+ String token = tokenizer.nextToken();
+ StringTokenizer keyValueTokenizer = new StringTokenizer(token, keyValueDelimiter);
+ if (keyValueTokenizer.countTokens() == 2) {
+ final String key = keyValueTokenizer.nextToken();
+ final String value = keyValueTokenizer.nextToken();
+ this.key2value.put(key, value);
}
}
}
+ private Map key2value;
+
public String getValue(String key) {
- analyze();
return (String) this.key2value.get(key);
}
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.