public class org.apache.nifi.processors.standard.Notify extends org.apache.nifi.processor.AbstractProcessor
{
public static final java.lang.String NOTIFIED_ATTRIBUTE_NAME;
public static final org.apache.nifi.components.PropertyDescriptor DISTRIBUTED_CACHE_SERVICE;
public static final org.apache.nifi.components.PropertyDescriptor RELEASE_SIGNAL_IDENTIFIER;
public static final org.apache.nifi.components.PropertyDescriptor SIGNAL_COUNTER_NAME;
public static final org.apache.nifi.components.PropertyDescriptor SIGNAL_COUNTER_DELTA;
public static final org.apache.nifi.components.PropertyDescriptor SIGNAL_BUFFER_COUNT;
public static final org.apache.nifi.components.PropertyDescriptor ATTRIBUTE_CACHE_REGEX;
public static final org.apache.nifi.processor.Relationship REL_SUCCESS;
public static final org.apache.nifi.processor.Relationship REL_FAILURE;
private final java.util.Set relationships;
public void <init>()
{
java.util.HashSet v;
org.apache.nifi.processor.Relationship v, v;
org.apache.nifi.processors.standard.Notify v;
java.util.Set v;
v := @this: org.apache.nifi.processors.standard.Notify;
specialinvoke v.<org.apache.nifi.processor.AbstractProcessor: void <init>()>();
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v = <org.apache.nifi.processors.standard.Notify: org.apache.nifi.processor.Relationship REL_SUCCESS>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.Notify: org.apache.nifi.processor.Relationship REL_FAILURE>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
v = staticinvoke <java.util.Collections: java.util.Set unmodifiableSet(java.util.Set)>(v);
v.<org.apache.nifi.processors.standard.Notify: java.util.Set relationships> = v;
return;
}
protected java.util.List getSupportedPropertyDescriptors()
{
org.apache.nifi.processors.standard.Notify v;
org.apache.nifi.components.PropertyDescriptor v, v, v, v, v, v;
java.util.ArrayList v;
v := @this: org.apache.nifi.processors.standard.Notify;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = <org.apache.nifi.processors.standard.Notify: org.apache.nifi.components.PropertyDescriptor RELEASE_SIGNAL_IDENTIFIER>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.Notify: org.apache.nifi.components.PropertyDescriptor SIGNAL_COUNTER_NAME>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.Notify: org.apache.nifi.components.PropertyDescriptor SIGNAL_COUNTER_DELTA>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.Notify: org.apache.nifi.components.PropertyDescriptor SIGNAL_BUFFER_COUNT>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.Notify: org.apache.nifi.components.PropertyDescriptor DISTRIBUTED_CACHE_SERVICE>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.Notify: org.apache.nifi.components.PropertyDescriptor ATTRIBUTE_CACHE_REGEX>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
return v;
}
public java.util.Set getRelationships()
{
java.util.Set v;
org.apache.nifi.processors.standard.Notify v;
v := @this: org.apache.nifi.processors.standard.Notify;
v = v.<org.apache.nifi.processors.standard.Notify: java.util.Set relationships>;
return v;
}
public void onTrigger(org.apache.nifi.processor.ProcessContext, org.apache.nifi.processor.ProcessSession) throws org.apache.nifi.processor.exception.ProcessException
{
java.lang.Integer v;
org.apache.nifi.components.PropertyDescriptor v, v, v, v, v, v;
org.apache.nifi.components.PropertyValue v, v, v, v, v, v, v, v, v;
java.util.Map v;
org.apache.nifi.processors.standard.WaitNotifyProtocol v;
boolean v, v, v, v, v, v;
org.apache.nifi.flowfile.FlowFile v, v, v;
java.util.function.Predicate v;
java.util.Set v;
java.util.List v;
java.util.stream.Stream v, v;
org.apache.nifi.controller.ControllerService v;
java.lang.Object[] v, v, v;
org.apache.nifi.processors.standard.Notify v;
java.util.HashMap v;
org.apache.nifi.logging.ComponentLog v;
org.apache.nifi.processor.Relationship v, v;
int v, v, v;
java.util.function.BiConsumer v;
java.lang.String v, v, v, v, v, v;
org.apache.nifi.processor.ProcessContext v;
java.lang.NumberFormatException v;
org.apache.nifi.processor.ProcessSession v;
java.util.function.Consumer v;
org.apache.nifi.processors.standard.Notify$SignalBuffer v;
java.lang.Object v;
v := @this: org.apache.nifi.processors.standard.Notify;
v := @parameter: org.apache.nifi.processor.ProcessContext;
v := @parameter: org.apache.nifi.processor.ProcessSession;
v = virtualinvoke v.<org.apache.nifi.processors.standard.Notify: org.apache.nifi.logging.ComponentLog getLogger()>();
v = <org.apache.nifi.processors.standard.Notify: org.apache.nifi.components.PropertyDescriptor RELEASE_SIGNAL_IDENTIFIER>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = <org.apache.nifi.processors.standard.Notify: org.apache.nifi.components.PropertyDescriptor SIGNAL_COUNTER_NAME>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = <org.apache.nifi.processors.standard.Notify: org.apache.nifi.components.PropertyDescriptor SIGNAL_COUNTER_DELTA>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = <org.apache.nifi.processors.standard.Notify: org.apache.nifi.components.PropertyDescriptor ATTRIBUTE_CACHE_REGEX>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.String getValue()>();
v = <org.apache.nifi.processors.standard.Notify: org.apache.nifi.components.PropertyDescriptor SIGNAL_BUFFER_COUNT>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.Integer asInteger()>();
v = <org.apache.nifi.processors.standard.Notify: org.apache.nifi.components.PropertyDescriptor DISTRIBUTED_CACHE_SERVICE>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: org.apache.nifi.controller.ControllerService asControllerService(java.lang.Class)>(class "Lorg/apache/nifi/distributed/cache/client/AtomicDistributedMapCacheClient;");
v = new org.apache.nifi.processors.standard.WaitNotifyProtocol;
specialinvoke v.<org.apache.nifi.processors.standard.WaitNotifyProtocol: void <init>(org.apache.nifi.distributed.cache.client.AtomicDistributedMapCacheClient)>(v);
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = 0;
label:
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
if v >= v goto label;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile get()>();
if v == null goto label;
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: org.apache.nifi.components.PropertyValue evaluateAttributeExpressions(org.apache.nifi.flowfile.FlowFile)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.String getValue()>();
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isBlank(java.lang.CharSequence)>(v);
if v == 0 goto label;
v = newarray (java.lang.Object)[1];
v[0] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void error(java.lang.String,java.lang.Object[])>("FlowFile {} has no attribute for given Release Signal Identifier", v);
v = staticinvoke <java.lang.String: java.lang.String valueOf(boolean)>(0);
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile putAttribute(org.apache.nifi.flowfile.FlowFile,java.lang.String,java.lang.String)>(v, "notified", v);
v = <org.apache.nifi.processors.standard.Notify: org.apache.nifi.processor.Relationship REL_FAILURE>;
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: void transfer(org.apache.nifi.flowfile.FlowFile,org.apache.nifi.processor.Relationship)>(v, v);
goto label;
label:
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: org.apache.nifi.components.PropertyValue evaluateAttributeExpressions(org.apache.nifi.flowfile.FlowFile)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.String getValue()>();
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isEmpty(java.lang.CharSequence)>(v);
if v == 0 goto label;
v = "default";
label:
v = 1;
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: boolean isSet()>();
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: org.apache.nifi.components.PropertyValue evaluateAttributeExpressions(org.apache.nifi.flowfile.FlowFile)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.String getValue()>();
label:
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void error(java.lang.String,java.lang.Object[],java.lang.Throwable)>("Failed to calculate delta for FlowFile {} due to {}", v, v);
v = staticinvoke <java.lang.String: java.lang.String valueOf(boolean)>(0);
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile putAttribute(org.apache.nifi.flowfile.FlowFile,java.lang.String,java.lang.String)>(v, "notified", v);
v = <org.apache.nifi.processors.standard.Notify: org.apache.nifi.processor.Relationship REL_FAILURE>;
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: void transfer(org.apache.nifi.flowfile.FlowFile,org.apache.nifi.processor.Relationship)>(v, v);
goto label;
label:
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v != 0 goto label;
v = new org.apache.nifi.processors.standard.Notify$SignalBuffer;
specialinvoke v.<org.apache.nifi.processors.standard.Notify$SignalBuffer: void <init>(org.apache.nifi.processors.standard.Notify)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isNotEmpty(java.lang.CharSequence)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.nifi.flowfile.FlowFile: java.util.Map getAttributes()>();
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.stream.Stream stream()>();
v = staticinvoke <org.apache.nifi.processors.standard.Notify$lambda_onTrigger_0__151: java.util.function.Predicate bootstrap$(java.lang.String)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <org.apache.nifi.processors.standard.Notify$lambda_onTrigger_1__152: java.util.function.Consumer bootstrap$(org.apache.nifi.processors.standard.Notify$SignalBuffer)>(v);
interfaceinvoke v.<java.util.stream.Stream: void forEach(java.util.function.Consumer)>(v);
label:
virtualinvoke v.<org.apache.nifi.processors.standard.Notify$SignalBuffer: int incrementDelta(java.lang.String,int)>(v, v);
v = v.<org.apache.nifi.processors.standard.Notify$SignalBuffer: java.util.List flowFiles>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: boolean isDebugEnabled()>();
if v == 0 goto label;
v = newarray (java.lang.Object)[3];
v[0] = v;
v[1] = v;
v[2] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String,java.lang.Object[])>("Cached release signal identifier {} counterName {} from FlowFile {}", v);
label:
v = v + 1;
goto label;
label:
v = staticinvoke <org.apache.nifi.processors.standard.Notify$lambda_onTrigger_3__150: java.util.function.BiConsumer bootstrap$(org.apache.nifi.processors.standard.WaitNotifyProtocol,org.apache.nifi.processor.ProcessSession)>(v, v);
interfaceinvoke v.<java.util.Map: void forEach(java.util.function.BiConsumer)>(v);
return;
catch java.lang.NumberFormatException from label to label with label;
}
static void <clinit>()
{
org.apache.nifi.components.PropertyDescriptor v, v, v, v, v, v, v;
org.apache.nifi.expression.AttributeExpression$ResultType v, v, v;
org.apache.nifi.processor.Relationship v, v;
java.lang.String v, v;
org.apache.nifi.components.PropertyDescriptor$Builder v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.nifi.expression.ExpressionLanguageScope v, v, v, v;
org.apache.nifi.components.Validator v, v, v, v, v;
org.apache.nifi.processor.Relationship$Builder v, v, v, v, v, v;
v = new org.apache.nifi.components.PropertyDescriptor$Builder;
specialinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder name(java.lang.String)>("distributed-cache-service");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder displayName(java.lang.String)>("Distributed Cache Service");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("The Controller Service that is used to cache release signals in order to release files queued at a corresponding Wait processor");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(1);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder identifiesControllerService(java.lang.Class)>(class "Lorg/apache/nifi/distributed/cache/client/AtomicDistributedMapCacheClient;");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.Notify: org.apache.nifi.components.PropertyDescriptor DISTRIBUTED_CACHE_SERVICE> = v;
v = new org.apache.nifi.components.PropertyDescriptor$Builder;
specialinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder name(java.lang.String)>("release-signal-id");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder displayName(java.lang.String)>("Release Signal Identifier");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("A value, or the results of an Attribute Expression Language statement, which will be evaluated against a FlowFile in order to determine the release signal cache key");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(1);
v = <org.apache.nifi.expression.AttributeExpression$ResultType: org.apache.nifi.expression.AttributeExpression$ResultType STRING>;
v = staticinvoke <org.apache.nifi.processor.util.StandardValidators: org.apache.nifi.components.Validator createAttributeExpressionLanguageValidator(org.apache.nifi.expression.AttributeExpression$ResultType,boolean)>(v, 1);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder addValidator(org.apache.nifi.components.Validator)>(v);
v = <org.apache.nifi.expression.ExpressionLanguageScope: org.apache.nifi.expression.ExpressionLanguageScope FLOWFILE_ATTRIBUTES>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder expressionLanguageSupported(org.apache.nifi.expression.ExpressionLanguageScope)>(v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.Notify: org.apache.nifi.components.PropertyDescriptor RELEASE_SIGNAL_IDENTIFIER> = v;
v = new org.apache.nifi.components.PropertyDescriptor$Builder;
specialinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder name(java.lang.String)>("signal-counter-name");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder displayName(java.lang.String)>("Signal Counter Name");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("A value, or the results of an Attribute Expression Language statement, which will be evaluated against a FlowFile in order to determine the signal counter name. Signal counter name is useful when a corresponding Wait processor needs to know the number of occurrences of different types of events, such as success or failure, or destination data source names, etc.");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(1);
v = <org.apache.nifi.expression.AttributeExpression$ResultType: org.apache.nifi.expression.AttributeExpression$ResultType STRING>;
v = staticinvoke <org.apache.nifi.processor.util.StandardValidators: org.apache.nifi.components.Validator createAttributeExpressionLanguageValidator(org.apache.nifi.expression.AttributeExpression$ResultType,boolean)>(v, 1);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder addValidator(org.apache.nifi.components.Validator)>(v);
v = <org.apache.nifi.expression.ExpressionLanguageScope: org.apache.nifi.expression.ExpressionLanguageScope FLOWFILE_ATTRIBUTES>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder expressionLanguageSupported(org.apache.nifi.expression.ExpressionLanguageScope)>(v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder defaultValue(java.lang.String)>("default");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.Notify: org.apache.nifi.components.PropertyDescriptor SIGNAL_COUNTER_NAME> = v;
v = new org.apache.nifi.components.PropertyDescriptor$Builder;
specialinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder name(java.lang.String)>("signal-counter-delta");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder displayName(java.lang.String)>("Signal Counter Delta");
v = <org.apache.nifi.processors.standard.Wait: org.apache.nifi.components.PropertyDescriptor RELEASABLE_FLOWFILE_COUNT>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor: java.lang.String getDisplayName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("A value, or the results of an Attribute Expression Language statement, which will be evaluated against a FlowFile in order to determine the signal counter delta. Specify how much the counter should increase. For example, if multiple signal events are processed at upstream flow in batch oriented way, the number of events processed can be notified with this property at once. Zero (0) has a special meaning, it clears target count back to 0, which is especially useful when used with Wait \u = Zero (0) mode, to provide \'open-close-gate\' type of flow control. One (1) can open a corresponding Wait processor, and Zero (0) can negate it as if closing a gate.");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(1);
v = <org.apache.nifi.expression.AttributeExpression$ResultType: org.apache.nifi.expression.AttributeExpression$ResultType STRING>;
v = staticinvoke <org.apache.nifi.processor.util.StandardValidators: org.apache.nifi.components.Validator createAttributeExpressionLanguageValidator(org.apache.nifi.expression.AttributeExpression$ResultType,boolean)>(v, 1);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder addValidator(org.apache.nifi.components.Validator)>(v);
v = <org.apache.nifi.expression.ExpressionLanguageScope: org.apache.nifi.expression.ExpressionLanguageScope FLOWFILE_ATTRIBUTES>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder expressionLanguageSupported(org.apache.nifi.expression.ExpressionLanguageScope)>(v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder defaultValue(java.lang.String)>("1");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.Notify: org.apache.nifi.components.PropertyDescriptor SIGNAL_COUNTER_DELTA> = v;
v = new org.apache.nifi.components.PropertyDescriptor$Builder;
specialinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder name(java.lang.String)>("signal-buffer-count");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder displayName(java.lang.String)>("Signal Buffer Count");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("Specify the maximum number of incoming flow files that can be buffered until signals are notified to cache service. The more buffer can provide the better performance, as it reduces the number of interactions with cache service by grouping signals by signal identifier when multiple incoming flow files share the same signal identifier.");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(1);
v = <org.apache.nifi.processor.util.StandardValidators: org.apache.nifi.components.Validator POSITIVE_INTEGER_VALIDATOR>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder addValidator(org.apache.nifi.components.Validator)>(v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder defaultValue(java.lang.String)>("1");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.Notify: org.apache.nifi.components.PropertyDescriptor SIGNAL_BUFFER_COUNT> = v;
v = new org.apache.nifi.components.PropertyDescriptor$Builder;
specialinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder name(java.lang.String)>("attribute-cache-regex");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder displayName(java.lang.String)>("Attribute Cache Regex");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("Any attributes whose names match this regex will be stored in the distributed cache to be copied to any FlowFiles released from a corresponding Wait processor.  Note that the uuid attribute will not be cached regardless of this value.  If blank, no attributes will be cached.");
v = <org.apache.nifi.processor.util.StandardValidators: org.apache.nifi.components.Validator REGULAR_EXPRESSION_VALIDATOR>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder addValidator(org.apache.nifi.components.Validator)>(v);
v = <org.apache.nifi.expression.ExpressionLanguageScope: org.apache.nifi.expression.ExpressionLanguageScope NONE>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder expressionLanguageSupported(org.apache.nifi.expression.ExpressionLanguageScope)>(v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.Notify: org.apache.nifi.components.PropertyDescriptor ATTRIBUTE_CACHE_REGEX> = v;
v = new org.apache.nifi.processor.Relationship$Builder;
specialinvoke v.<org.apache.nifi.processor.Relationship$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship$Builder name(java.lang.String)>("success");
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship$Builder description(java.lang.String)>("All FlowFiles where the release signal has been successfully entered in the cache will be routed to this relationship");
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship build()>();
<org.apache.nifi.processors.standard.Notify: org.apache.nifi.processor.Relationship REL_SUCCESS> = v;
v = new org.apache.nifi.processor.Relationship$Builder;
specialinvoke v.<org.apache.nifi.processor.Relationship$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship$Builder name(java.lang.String)>("failure");
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship$Builder description(java.lang.String)>("When the cache cannot be reached, or if the Release Signal Identifier evaluates to null or empty, FlowFiles will be routed to this relationship");
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship build()>();
<org.apache.nifi.processors.standard.Notify: org.apache.nifi.processor.Relationship REL_FAILURE> = v;
return;
}
}