Implement a SubstringGenerator that generates all substrings of a string. For example, the substrings of the string "rum" are the seven strings

"r", "ru", "rum", "u", "um", "m", ""

Hint: First enumerate all substrings that start with the first character. There are n of them if the string has length n. Then enumerate the substrings of the string that you obtain by removing the first character.

Complete the following files:

SubstringGenerator.java

SubstringGeneratorTester2.java

SubstringGeneratorTester3.java

Use the following file:

SubstringGeneratorTester.java

import java.util.ArrayList;
import java.util.Collections;

/**
   This program tests the substring generator.
*/
public class SubstringGeneratorTester
{
   public static void main(String[] args)
   {
      SubstringGenerator generator 
            = new SubstringGenerator("rum");
      ArrayList<String> substrings = generator.getSubstrings();
      // Sort the result for checking 
      Collections.sort(substrings);
      System.out.println(substrings);
      System.out.println("Expected: [, m, r, ru, rum, u, um]");
   }
}