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:

Use the following file:

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 
      System.out.println("Expected: [, m, r, ru, rum, u, um]");