class Data {

  private int key;

  private String value;

  private DataType type;

  /**
   * Constructor of Data class.
   * @param key data key
   * @param value data vlue
   * @param type data type
   */
  public Data(final int key, final String value, final DataType type) {
    this.key = key;
    this.value = value;
    this.type = type;
  }

  public int getKey() {
    return key;
  }

  public void setKey(final int key) {
    this.key = key;
  }

  public String getValue() {
    return value;
  }

  public void setValue(final String value) {
    this.value = value;
  }

  public DataType getType() {
    return type;
  }

  public void setType(DataType type) {
    this.type = type;
  }

  enum DataType {
    TYPE_1, TYPE_2, TYPE_3
  }

  @Override
  public String toString() {<FILL_FUNCTION_BODY>}
}

    return "Data {" + "key="
        + key + ", value='" + value
        + '\'' + ", type=" + type + '}';
  
<no_super_class>