@Override public String stringKey() { try { return String.format(WINDOW_FORMAT, CoderUtils.encodeToBase64(windowCoder, window)); } catch (CoderException e) { throw new RuntimeException("Unable to generate string key from window " + window, e); } }
@Override public String stringKey() { try { return String.format( WINDOW_AND_TRIGGER_FORMAT, CoderUtils.encodeToBase64(windowCoder, window), // Use base 36 so that can address 36 triggers in a single byte and still be human // readable. Integer.toString(triggerIndex, TRIGGER_RADIX).toUpperCase()); } catch (CoderException e) { throw new RuntimeException("Unable to generate string key from window " + window, e); } }
@Override public void appendTo(Appendable sb) throws IOException { sb.append('/').append(CoderUtils.encodeToBase64(windowCoder, window)); sb.append('/').append(Integer.toString(triggerIndex, TRIGGER_RADIX).toUpperCase()); sb.append('/'); }
@Override public void appendTo(Appendable sb) throws IOException { sb.append('/').append(CoderUtils.encodeToBase64(windowCoder, window)).append('/'); }