@Override
  public String toString() {
    StringBuilder builder = new StringBuilder();
    builder.append("TYPE => THROTTLE");
    if (proto.hasType()) {
      builder.append(", THROTTLE_TYPE => ");
      builder.append(proto.getType().toString());
    }
    if (proto.hasTimedQuota()) {
      QuotaProtos.TimedQuota timedQuota = proto.getTimedQuota();
      builder.append(", LIMIT => ");
      if (timedQuota.hasSoftLimit()) {
        switch (getThrottleType()) {
          case REQUEST_NUMBER:
          case WRITE_NUMBER:
          case READ_NUMBER:
          case ATOMIC_REQUEST_NUMBER:
            builder.append(String.format("%dreq", timedQuota.getSoftLimit()));
            break;
          case REQUEST_SIZE:
          case WRITE_SIZE:
          case READ_SIZE:
          case ATOMIC_READ_SIZE:
          case ATOMIC_WRITE_SIZE:
            builder.append(sizeToString(timedQuota.getSoftLimit()));
            break;
          case REQUEST_CAPACITY_UNIT:
          case READ_CAPACITY_UNIT:
          case WRITE_CAPACITY_UNIT:
            builder.append(String.format("%dCU", timedQuota.getSoftLimit()));
            break;
          case REQUEST_HANDLER_USAGE_MS:
            builder.append(String.format("%dms", timedQuota.getSoftLimit()));
            break;
          default:
        }
      } else if (timedQuota.hasShare()) {
        builder.append(String.format("%.2f%%", timedQuota.getShare()));
      }
      builder.append('/');
      builder.append(timeToString(ProtobufUtil.toTimeUnit(timedQuota.getTimeUnit())));
      if (timedQuota.hasScope()) {
        builder.append(", SCOPE => ");
        builder.append(timedQuota.getScope().toString());
      }
    } else {
      builder.append(", LIMIT => NONE");
    }
    return builder.toString();
  }
Returns a copy of the internal state of <code>this</code>
hbase-client/src/main/java/org/apache/hadoop/hbase/quotas/ThrottleSettings.java