public class io.helidon.config.ObjectNodeBuilderImpl extends io.helidon.config.AbstractNodeBuilderImpl implements io.helidon.config.spi.ConfigNode$ObjectNode$Builder
{
private final java.util.Map members;
private java.lang.String value;
void <init>()
{
java.util.function.Function v;
io.helidon.config.ObjectNodeBuilderImpl v;
v := @this: io.helidon.config.ObjectNodeBuilderImpl;
v = staticinvoke <java.util.function.Function: java.util.function.Function identity()>();
specialinvoke v.<io.helidon.config.ObjectNodeBuilderImpl: void <init>(java.util.function.Function)>(v);
return;
}
public void <init>(java.util.function.Function)
{
java.util.HashMap v;
java.util.function.Function v;
io.helidon.config.ObjectNodeBuilderImpl v;
v := @this: io.helidon.config.ObjectNodeBuilderImpl;
v := @parameter: java.util.function.Function;
specialinvoke v.<io.helidon.config.AbstractNodeBuilderImpl: void <init>(java.util.function.Function)>(v);
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<io.helidon.config.ObjectNodeBuilderImpl: java.util.Map members> = v;
return;
}
public static io.helidon.config.ObjectNodeBuilderImpl create()
{
io.helidon.config.ObjectNodeBuilderImpl v;
v = new io.helidon.config.ObjectNodeBuilderImpl;
specialinvoke v.<io.helidon.config.ObjectNodeBuilderImpl: void <init>()>();
return v;
}
public static io.helidon.config.ObjectNodeBuilderImpl create(java.util.Map)
{
java.util.function.Function v;
io.helidon.config.ObjectNodeBuilderImpl v;
java.util.Map v;
v := @parameter: java.util.Map;
v = staticinvoke <java.util.function.Function: java.util.function.Function identity()>();
v = staticinvoke <io.helidon.config.ObjectNodeBuilderImpl: io.helidon.config.ObjectNodeBuilderImpl create(java.util.Map,java.util.function.Function)>(v, v);
return v;
}
public static io.helidon.config.ObjectNodeBuilderImpl create(java.util.Map, java.util.function.Function)
{
java.util.Map v;
java.util.function.Function v;
io.helidon.config.ObjectNodeBuilderImpl v, v;
v := @parameter: java.util.Map;
v := @parameter: java.util.function.Function;
v = new io.helidon.config.ObjectNodeBuilderImpl;
specialinvoke v.<io.helidon.config.ObjectNodeBuilderImpl: void <init>(java.util.function.Function)>(v);
v = specialinvoke v.<io.helidon.config.ObjectNodeBuilderImpl: io.helidon.config.ObjectNodeBuilderImpl fromMap(java.util.Map)>(v);
return v;
}
private io.helidon.config.ObjectNodeBuilderImpl fromMap(java.util.Map)
{
java.util.function.BiConsumer v;
io.helidon.config.ObjectNodeBuilderImpl v;
java.util.Map v;
v := @this: io.helidon.config.ObjectNodeBuilderImpl;
v := @parameter: java.util.Map;
v = staticinvoke <io.helidon.config.ObjectNodeBuilderImpl$addNode__350: java.util.function.BiConsumer bootstrap$(io.helidon.config.ObjectNodeBuilderImpl)>(v);
interfaceinvoke v.<java.util.Map: void forEach(java.util.function.BiConsumer)>(v);
return v;
}
public io.helidon.config.ObjectNodeBuilderImpl addNode(java.lang.String, io.helidon.config.spi.ConfigNode)
{
io.helidon.config.spi.ConfigNode v;
java.util.function.Function v, v;
java.util.Map v;
java.lang.Object v;
java.lang.String v;
io.helidon.config.MergeableNode v;
io.helidon.config.ObjectNodeBuilderImpl v;
v := @this: io.helidon.config.ObjectNodeBuilderImpl;
v := @parameter: java.lang.String;
v := @parameter: io.helidon.config.spi.ConfigNode;
v = v.<io.helidon.config.ObjectNodeBuilderImpl: java.util.Map members>;
v = virtualinvoke v.<io.helidon.config.ObjectNodeBuilderImpl: java.util.function.Function tokenResolver()>();
v = interfaceinvoke v.<java.util.function.Function: java.lang.Object apply(java.lang.Object)>(v);
v = virtualinvoke v.<io.helidon.config.ObjectNodeBuilderImpl: java.util.function.Function tokenResolver()>();
v = staticinvoke <io.helidon.config.ObjectNodeBuilderImpl: io.helidon.config.MergeableNode wrap(io.helidon.config.spi.ConfigNode,java.util.function.Function)>(v, v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
return v;
}
protected java.lang.String id(io.helidon.config.AbstractNodeBuilderImpl$MergingKey)
{
java.lang.String v;
io.helidon.config.AbstractNodeBuilderImpl$MergingKey v;
io.helidon.config.ObjectNodeBuilderImpl v;
v := @this: io.helidon.config.ObjectNodeBuilderImpl;
v := @parameter: io.helidon.config.AbstractNodeBuilderImpl$MergingKey;
v = virtualinvoke v.<io.helidon.config.AbstractNodeBuilderImpl$MergingKey: java.lang.String first()>();
return v;
}
protected io.helidon.config.MergeableNode member(java.lang.String)
{
java.util.Map v;
java.lang.Object v;
java.lang.String v;
java.util.function.Function v;
io.helidon.config.ObjectNodeBuilderImpl v;
v := @this: io.helidon.config.ObjectNodeBuilderImpl;
v := @parameter: java.lang.String;
v = v.<io.helidon.config.ObjectNodeBuilderImpl: java.util.Map members>;
v = staticinvoke <io.helidon.config.ObjectNodeBuilderImpl$lambda_member_0__351: java.util.function.Function bootstrap$(io.helidon.config.ObjectNodeBuilderImpl)>(v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object computeIfAbsent(java.lang.Object,java.util.function.Function)>(v, v);
return v;
}
protected void update(java.lang.String, io.helidon.config.MergeableNode)
{
java.util.Map v;
java.lang.Object v;
java.lang.String v;
io.helidon.config.MergeableNode v;
java.util.function.Function v;
io.helidon.config.ObjectNodeBuilderImpl v;
v := @this: io.helidon.config.ObjectNodeBuilderImpl;
v := @parameter: java.lang.String;
v := @parameter: io.helidon.config.MergeableNode;
v = v.<io.helidon.config.ObjectNodeBuilderImpl: java.util.Map members>;
v = virtualinvoke v.<io.helidon.config.ObjectNodeBuilderImpl: java.util.function.Function tokenResolver()>();
v = interfaceinvoke v.<java.util.function.Function: java.lang.Object apply(java.lang.Object)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
return;
}
protected void merge(java.lang.String, io.helidon.config.MergeableNode)
{
java.util.function.BiFunction v;
io.helidon.config.ConfigException v, v;
java.util.Map v;
java.lang.String v, v, v;
io.helidon.config.MergeableNode v;
io.helidon.config.ObjectNodeBuilderImpl v;
v := @this: io.helidon.config.ObjectNodeBuilderImpl;
v := @parameter: java.lang.String;
v := @parameter: io.helidon.config.MergeableNode;
label:
v = v.<io.helidon.config.ObjectNodeBuilderImpl: java.util.Map members>;
v = staticinvoke <io.helidon.config.ObjectNodeBuilderImpl$merge__352: java.util.function.BiFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object merge(java.lang.Object,java.lang.Object,java.util.function.BiFunction)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = new io.helidon.config.ConfigException;
v = virtualinvoke v.<io.helidon.config.ConfigException: java.lang.String getLocalizedMessage()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, 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[])>("\u0001: \u0001");
specialinvoke v.<io.helidon.config.ConfigException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
return;
catch io.helidon.config.ConfigException from label to label with label;
}
private java.lang.String encodeDotsInTokenReferences(java.lang.String)
{
java.lang.String v, v;
io.helidon.config.ObjectNodeBuilderImpl v;
v := @this: io.helidon.config.ObjectNodeBuilderImpl;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: java.lang.String replaceAll(java.lang.String,java.lang.String)>("\\.+(?=[^(\\$\\{)]*\\})", "~1");
return v;
}
public io.helidon.config.ObjectNodeBuilderImpl value(java.lang.String)
{
java.lang.String v;
io.helidon.config.ObjectNodeBuilderImpl v;
v := @this: io.helidon.config.ObjectNodeBuilderImpl;
v := @parameter: java.lang.String;
v.<io.helidon.config.ObjectNodeBuilderImpl: java.lang.String value> = v;
return v;
}
io.helidon.config.ObjectNodeBuilderImpl value(java.util.Optional)
{
java.util.function.Consumer v;
java.util.Optional v;
io.helidon.config.ObjectNodeBuilderImpl v;
v := @this: io.helidon.config.ObjectNodeBuilderImpl;
v := @parameter: java.util.Optional;
v = staticinvoke <io.helidon.config.ObjectNodeBuilderImpl$value__353: java.util.function.Consumer bootstrap$(io.helidon.config.ObjectNodeBuilderImpl)>(v);
virtualinvoke v.<java.util.Optional: void ifPresent(java.util.function.Consumer)>(v);
return v;
}
public io.helidon.config.spi.ConfigNode$ObjectNode$Builder addValue(java.lang.String, io.helidon.config.spi.ConfigNode$ValueNode)
{
io.helidon.config.AbstractNodeBuilderImpl$MergingKey v;
io.helidon.config.ValueNodeImpl v;
java.util.function.Function v;
java.lang.Object v, v;
io.helidon.config.spi.ConfigNode$ValueNode v;
java.lang.String v, v;
io.helidon.config.ObjectNodeBuilderImpl v;
v := @this: io.helidon.config.ObjectNodeBuilderImpl;
v := @parameter: java.lang.String;
v := @parameter: io.helidon.config.spi.ConfigNode$ValueNode;
v = virtualinvoke v.<io.helidon.config.ObjectNodeBuilderImpl: java.util.function.Function tokenResolver()>();
v = interfaceinvoke v.<java.util.function.Function: java.lang.Object apply(java.lang.Object)>(v);
v = specialinvoke v.<io.helidon.config.ObjectNodeBuilderImpl: java.lang.String encodeDotsInTokenReferences(java.lang.String)>(v);
v = staticinvoke <io.helidon.config.AbstractNodeBuilderImpl$MergingKey: io.helidon.config.AbstractNodeBuilderImpl$MergingKey of(java.lang.String)>(v);
v = staticinvoke <io.helidon.config.ValueNodeImpl: io.helidon.config.ValueNodeImpl wrap(io.helidon.config.spi.ConfigNode$ValueNode)>(v);
v = virtualinvoke v.<io.helidon.config.ObjectNodeBuilderImpl: java.lang.Object deepMerge(io.helidon.config.AbstractNodeBuilderImpl$MergingKey,io.helidon.config.MergeableNode)>(v, v);
return v;
}
public io.helidon.config.spi.ConfigNode$ObjectNode$Builder addObject(java.lang.String, io.helidon.config.spi.ConfigNode$ObjectNode)
{
io.helidon.config.AbstractNodeBuilderImpl$MergingKey v;
io.helidon.config.ObjectNodeImpl v;
java.util.function.Function v, v;
io.helidon.config.spi.ConfigNode$ObjectNode v;
java.lang.Object v, v;
java.lang.String v, v;
io.helidon.config.ObjectNodeBuilderImpl v;
v := @this: io.helidon.config.ObjectNodeBuilderImpl;
v := @parameter: java.lang.String;
v := @parameter: io.helidon.config.spi.ConfigNode$ObjectNode;
v = virtualinvoke v.<io.helidon.config.ObjectNodeBuilderImpl: java.util.function.Function tokenResolver()>();
v = interfaceinvoke v.<java.util.function.Function: java.lang.Object apply(java.lang.Object)>(v);
v = specialinvoke v.<io.helidon.config.ObjectNodeBuilderImpl: java.lang.String encodeDotsInTokenReferences(java.lang.String)>(v);
v = staticinvoke <io.helidon.config.AbstractNodeBuilderImpl$MergingKey: io.helidon.config.AbstractNodeBuilderImpl$MergingKey of(java.lang.String)>(v);
v = virtualinvoke v.<io.helidon.config.ObjectNodeBuilderImpl: java.util.function.Function tokenResolver()>();
v = staticinvoke <io.helidon.config.ObjectNodeImpl: io.helidon.config.ObjectNodeImpl wrap(io.helidon.config.spi.ConfigNode$ObjectNode,java.util.function.Function)>(v, v);
v = virtualinvoke v.<io.helidon.config.ObjectNodeBuilderImpl: java.lang.Object deepMerge(io.helidon.config.AbstractNodeBuilderImpl$MergingKey,io.helidon.config.MergeableNode)>(v, v);
return v;
}
public io.helidon.config.spi.ConfigNode$ObjectNode$Builder addList(java.lang.String, io.helidon.config.spi.ConfigNode$ListNode)
{
io.helidon.config.AbstractNodeBuilderImpl$MergingKey v;
io.helidon.config.ListNodeImpl v;
java.util.function.Function v, v;
io.helidon.config.spi.ConfigNode$ListNode v;
java.lang.Object v, v;
java.lang.String v, v;
io.helidon.config.ObjectNodeBuilderImpl v;
v := @this: io.helidon.config.ObjectNodeBuilderImpl;
v := @parameter: java.lang.String;
v := @parameter: io.helidon.config.spi.ConfigNode$ListNode;
v = virtualinvoke v.<io.helidon.config.ObjectNodeBuilderImpl: java.util.function.Function tokenResolver()>();
v = interfaceinvoke v.<java.util.function.Function: java.lang.Object apply(java.lang.Object)>(v);
v = specialinvoke v.<io.helidon.config.ObjectNodeBuilderImpl: java.lang.String encodeDotsInTokenReferences(java.lang.String)>(v);
v = staticinvoke <io.helidon.config.AbstractNodeBuilderImpl$MergingKey: io.helidon.config.AbstractNodeBuilderImpl$MergingKey of(java.lang.String)>(v);
v = virtualinvoke v.<io.helidon.config.ObjectNodeBuilderImpl: java.util.function.Function tokenResolver()>();
v = staticinvoke <io.helidon.config.ListNodeImpl: io.helidon.config.ListNodeImpl wrap(io.helidon.config.spi.ConfigNode$ListNode,java.util.function.Function)>(v, v);
v = virtualinvoke v.<io.helidon.config.ObjectNodeBuilderImpl: java.lang.Object deepMerge(io.helidon.config.AbstractNodeBuilderImpl$MergingKey,io.helidon.config.MergeableNode)>(v, v);
return v;
}
public io.helidon.config.ObjectNodeImpl build()
{
java.util.Map v, v;
io.helidon.config.ObjectNodeImpl v;
java.lang.String v;
java.util.function.Function v;
io.helidon.config.ObjectNodeBuilderImpl v;
v := @this: io.helidon.config.ObjectNodeBuilderImpl;
v = new io.helidon.config.ObjectNodeImpl;
v = v.<io.helidon.config.ObjectNodeBuilderImpl: java.util.Map members>;
v = staticinvoke <java.util.Collections: java.util.Map unmodifiableMap(java.util.Map)>(v);
v = virtualinvoke v.<io.helidon.config.ObjectNodeBuilderImpl: java.util.function.Function tokenResolver()>();
v = v.<io.helidon.config.ObjectNodeBuilderImpl: java.lang.String value>;
specialinvoke v.<io.helidon.config.ObjectNodeImpl: void <init>(java.util.Map,java.util.function.Function,java.lang.String)>(v, v, v);
return v;
}
public java.lang.String toString()
{
java.util.Map v;
java.lang.String v, v;
io.helidon.config.ObjectNodeBuilderImpl v;
v := @this: io.helidon.config.ObjectNodeBuilderImpl;
v = v.<io.helidon.config.ObjectNodeBuilderImpl: java.util.Map members>;
v = specialinvoke v.<java.lang.Object: java.lang.String toString()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.util.Map,java.lang.String)>(v, 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[])>("ObjectNodeBuilderImpl{members=\u0001} \u0001");
return v;
}
}