@Override public boolean equals(Object obj) { if (this == obj) { return true; } if (!(obj instanceof AfterProcessingTime)) { return false; } AfterProcessingTime that = (AfterProcessingTime) obj; return getTimestampTransforms().equals(that.getTimestampTransforms()); }
@Override public int hashCode() { return Objects.hash(getTimestampTransforms()); } }
@Override public String toString() { StringBuilder builder = new StringBuilder("AfterProcessingTime.pastFirstElementInPane()"); for (TimestampTransform transform : getTimestampTransforms()) { if (transform instanceof TimestampTransform.Delay) { TimestampTransform.Delay delay = (TimestampTransform.Delay) transform; builder .append(".plusDelayOf(") .append(DURATION_FORMATTER.print(delay.getDelay().toPeriod())) .append(")"); } else if (transform instanceof TimestampTransform.AlignTo) { TimestampTransform.AlignTo alignTo = (TimestampTransform.AlignTo) transform; builder .append(".alignedTo(") .append(DURATION_FORMATTER.print(alignTo.getPeriod().toPeriod())) .append(", ") .append(alignTo.getOffset()) .append(")"); } } return builder.toString(); }
private RunnerApi.Trigger convertSpecific(AfterProcessingTime v) { RunnerApi.Trigger.AfterProcessingTime.Builder builder = RunnerApi.Trigger.AfterProcessingTime.newBuilder(); for (TimestampTransform transform : v.getTimestampTransforms()) { builder.addTimestampTransforms(convertTimestampTransform(transform)); } return RunnerApi.Trigger.newBuilder().setAfterProcessingTime(builder).build(); }