public IResponseType getResponseType(String name) {
   return responseTypeRegistry.getResponseType(name);
 }
 public Collection<IResponseType> getLegalResposeTypes() {
   return responseTypeRegistry.getLegalResponseTypes();
 }
  protected void initResponseTypes() {
    /** Plain text is stored using {@link ResponseData#ResponseData.setText(String)}. */
    responseTypeRegistry.registerResponseType("TEXT", new ResponseType("TEXT", "Write"));

    /** Styled HTML text is stored using {@link ResponseData#setText(String)}. */
    responseTypeRegistry.registerResponseType("HTML", new ResponseType("HTML", "Write"));

    /** Binary audio data is stored using {@link ResponseData#setBinaryFileData(BinaryFileData)}. */
    responseTypeRegistry.registerResponseType("AUDIO", new ResponseType("AUDIO", "Record"));

    /** SVG markup is stored using {@link ResponseData#setText(String)} */
    responseTypeRegistry.registerResponseType("SVG", new ResponseType("SVG", "Draw"));

    /** Binary data is stored using {@link ResponseData#setBinaryFileData(BinaryFileData)}. */
    responseTypeRegistry.registerResponseType("UPLOAD", new ResponseType("UPLOAD", "Upload"));

    /**
     * Highlight colors and word indexes are stored as CSV using {@link
     * ResponseData#ResponseData.setText(String)}. For example: "R:1,2,3,5,6,7#Y:22,23,25,26"
     */
    responseTypeRegistry.registerResponseType(
        "HIGHLIGHT", new ResponseType("HIGHLIGHT", "Highlight"));

    /**
     * A response to a cloze-type passage (fill in the missing words). The actual answers are stored
     * as CSV using {@link ResponseData#ResponseData.setText(String)}.
     */
    responseTypeRegistry.registerResponseType("CLOZE", new ResponseType("CLOZE", "Cloze Passage"));

    /**
     * A response to a single-select, multiple choice prompt. Actual answer stored using {@link
     * ResponseData#setText(String)}.
     */
    responseTypeRegistry.registerResponseType(
        "SINGLE_SELECT", new ResponseType("SINGLE_SELECT", "Multiple Choice"));

    /** A rating (e.g. 1-5). The value is stored using {@link ResponseData#setScore(int)} */
    responseTypeRegistry.registerResponseType(
        "STAR_RATING", new ResponseType("STAR_RATING", "Rate"));

    /**
     * A generic score.
     *
     * <p>TODO: Perhaps this can be used to replace Star Rating and combine Cloze/SingleSelect?
     */
    responseTypeRegistry.registerResponseType("SCORE", new ResponseType("SCORE", "Score"));

    /** Applet markup is stored using {@link ResponseData#setText(String)} */
    responseTypeRegistry.registerResponseType("APPLET", new ResponseType("APPLET", "Applet"));

    /** Table markup is stored using {@link ResponseData#setText(String)} */
    responseTypeRegistry.registerResponseType("TABLE", new ResponseType("TABLE", "Table"));
  }