CS 257: Software Design

EncodingHelper, Phase 3 of 3

Continue with your partner, one more time.

For this assignment, you will complete an implementation of the EncodingHelper application, as described below.

The EncodingHelperChar class from last time will be a big help, but you will now need to add facilities for parsing the command line arguments and, for some operations, converting strings (not just single characters) into various forms. Your EncodingHelper class will contain the main method for this program, but you'll also want to give it methods for string conversion.

For example, you might want to write a method that converts a character string (typically obtained from main's args parameter) into an array or ArrayList of EncodingHelper objects. As you design the methods you need, keep in mind the ideas articulated in Steve McConnell's High-Quality Routines.

Also, for each non-trivial method you add to your project, you should add at least one unit test method.

EncodingHelper's command-line syntax

java EncodingHelper [--inputtype=type] [--outputtype=type] [data] inputtype can be any of: string [default], utf8, codepoint outputtype can be any of: summary [default], string, utf8, codepoint If the data argument is present, it is used as the input. Otherwise, input is taken from standard input.

Usage examples

Handing it in

Submit your program by committing it to your bitbucket repository and tagging it with a tag named "phase3".

Have fun!