@SuppressWarnings("NullableProblems") public int compareTo(FlowFile other) { if (other instanceof SessionFile) { other = ((SessionFile) other).flowFile; } return flowFile.compareTo(other); }
@Override public long contentLength(){ return useChunked ? -1 : requestFlowFile.getSize(); } };
private Long getExpirationDate(final FlowFile flowFile, final long expirationMillis) { if (flowFile == null) { return null; } if (expirationMillis <= 0) { return null; } else { final long entryDate = flowFile.getEntryDate(); final long expirationDate = entryDate + expirationMillis; return expirationDate; } }
@Override public String getAttribute(String key) { return flowFile.getAttribute(key); }
/** * @return an unmodifiable map of the flow file attributes */ @Override public Map<String, String> getAttributes() { return flowFile.getAttributes(); }
@Override public long getLineageStartDate() { return flowFile.getLineageStartDate(); }
@Override public long getId() { return flowFile.getId(); }
@Override public Long getLastQueueDate() { return flowFile.getLastQueueDate(); }
@Override public long getLineageStartIndex() { return flowFile.getLineageStartIndex(); }
@Override public long getQueueDateIndex() { return flowFile.getQueueDateIndex(); }
@Override public boolean isPenalized() { return flowFile.isPenalized(); }
@Override public synchronized void setLoadBalanceStrategy(final LoadBalanceStrategy strategy, final String partitioningAttribute) { if (strategy == LoadBalanceStrategy.PARTITION_BY_ATTRIBUTE && !FlowFile.KeyValidator.isValid(partitioningAttribute)) { throw new IllegalArgumentException("Cannot set Load Balance Strategy to " + strategy + " without providing a valid Partitioning Attribute"); } this.loadBalanceStrategy = strategy; this.partitioningAttribute = partitioningAttribute; }
@Override public long getSize() { return flowFile.getSize(); }
@Override public int compare(final FlowFile o1, final FlowFile o2) { final int fragmentIndex1 = Integer.parseInt(o1.getAttribute(FRAGMENT_INDEX_ATTRIBUTE)); final int fragmentIndex2 = Integer.parseInt(o2.getAttribute(FRAGMENT_INDEX_ATTRIBUTE)); return Integer.compare(fragmentIndex1, fragmentIndex2); } }
@Override public boolean equals(final Object obj) { if (obj == null) { return false; } if (obj == this) { return true; } if (obj instanceof FlowFile) { return ((FlowFile) obj).getId() == this.id; } return false; }
@Override public long getEntryDate() { return flowFile.getEntryDate(); }
@Override public FlowFileFilterResult filter(final FlowFile flowFile) { if (count == 0) { count++; size += flowFile.getSize(); return FlowFileFilterResult.ACCEPT_AND_CONTINUE; } if ((size + flowFile.getSize() > maxBytes) || (count + 1 > maxCount)) { return FlowFileFilterResult.REJECT_AND_TERMINATE; } count++; size += flowFile.getSize(); return FlowFileFilterResult.ACCEPT_AND_CONTINUE; }
@Override public boolean equals(final Object other) { if (this == other) { return true; } if (!(other instanceof FlowFile)) { return false; } final FlowFile otherRecord = (FlowFile) other; return new EqualsBuilder().append(id, otherRecord.getId()).isEquals(); }
@Override public FlowFile clone(FlowFile example) { verifyTaskActive(); example = validateRecordState(example); return clone(example, 0L, example.getSize()); }