Author: simoneg
Date: Wed Jan 20 03:58:47 2010
New Revision: 901052
URL: http://svn.apache.org/viewvc?rev=901052&view=rev
Log:
Optimization on default char sequence implementation
Modified:
labs/magma/trunk/foundation-basics/src/main/java/org/apache/magma/basics/DefaultCharSequenceImpl.aj
Modified:
labs/magma/trunk/foundation-basics/src/main/java/org/apache/magma/basics/DefaultCharSequenceImpl.aj
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-basics/src/main/java/org/apache/magma/basics/DefaultCharSequenceImpl.aj?rev=901052&r1=901051&r2=901052&view=diff
==============================================================================
---
labs/magma/trunk/foundation-basics/src/main/java/org/apache/magma/basics/DefaultCharSequenceImpl.aj
(original)
+++
labs/magma/trunk/foundation-basics/src/main/java/org/apache/magma/basics/DefaultCharSequenceImpl.aj
Wed Jan 20 03:58:47 2010
@@ -23,16 +23,25 @@
*/
public aspect DefaultCharSequenceImpl {
+ private String DefaultCharSequence.stringified;
+
+ private final void DefaultCharSequence.stringify() {
+ if (this.stringified == null) this.stringified = toString();
+ }
+
public char DefaultCharSequence.charAt(int i) {
- return toString().charAt(i);
+ stringify();
+ return stringified.charAt(i);
}
public int DefaultCharSequence.length() {
- return toString().length();
+ stringify();
+ return stringified.length();
}
public CharSequence DefaultCharSequence.subSequence(int begin, int end)
{
- return toString().subSequence(begin, end);
+ stringify();
+ return stringified.subSequence(begin, end);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]