AS3 StringTokenizer

Thursday, November 1st, 2007

One useful utility in the java.util package is the StringTokenizer class. I was looking for an ActionScript implementation the other day but was unable to locate one. So after determining the level of effort to write a StringTokenizer in ActionScript was minimal, I decided to roll my own.

The ActionScript StringTokenizer is a convenience class which provides a simple mechanism from which Strings can be extracted into individual tokens based on a specific delimiter.

StringTokenizer provides an IIterator implementation as well as an IEnumeration implementation, thus allowing a StringTokenizer to be implemented as an IIterator or IEnumeration. The interfaces are also provided with the StringTokenizer API.

Ideally a StringTokenizer is to be utilized to tokenize a String into specific tokens and is to be considered read-only. To use StringTokenizer is very simple. The constructor accepts two arguments, both of which are required. The first argument is the source String from which tokens are to be extracted. The second argument is the delimiter from which the tokens are to be based on, as in the following:

In addition to the constructor I have provided two static factory methods for creating both the IIterator implementation and IEnumeration implementation. The factory methods require the same arguments as the constructor and are provided as an alternative to the constructor.

All implementations provide operations for determining if elements (tokens) remain as well as operations for retrieving the next element.

A typical StringTokenizer implementations is as follows:

An IIterator implementation would be as follows:

An IEnumeration implementation would be as follows

In each use-case the StringTokenizer instance will return the same result as the underlying StringTokenizer implementation (e.g. invoking IIterator.next() results in a call to StringTokenizer.nextToken(), etc).

Source:
StringTokenizer
IEnumeration
IIterator

{ 10 comments to read ... please submit one more! }


    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'theme_comment' not found or invalid function name in /home/efeminella/ericfeminella.com/blog/wp-includes/class-walker-comment.php on line 180

    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'theme_comment' not found or invalid function name in /home/efeminella/ericfeminella.com/blog/wp-includes/class-walker-comment.php on line 180

    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'theme_comment' not found or invalid function name in /home/efeminella/ericfeminella.com/blog/wp-includes/class-walker-comment.php on line 180

    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'theme_comment' not found or invalid function name in /home/efeminella/ericfeminella.com/blog/wp-includes/class-walker-comment.php on line 180

    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'theme_comment' not found or invalid function name in /home/efeminella/ericfeminella.com/blog/wp-includes/class-walker-comment.php on line 180

    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'theme_comment' not found or invalid function name in /home/efeminella/ericfeminella.com/blog/wp-includes/class-walker-comment.php on line 180

    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'theme_comment' not found or invalid function name in /home/efeminella/ericfeminella.com/blog/wp-includes/class-walker-comment.php on line 180

    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'theme_comment' not found or invalid function name in /home/efeminella/ericfeminella.com/blog/wp-includes/class-walker-comment.php on line 180

    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'theme_comment' not found or invalid function name in /home/efeminella/ericfeminella.com/blog/wp-includes/class-walker-comment.php on line 180

{ 1 Pingbacks/Trackbacks }

  1. Actionscript Classes » StringTokenizer