public class nl.basjes.parse.useragent.clienthints.parsers.ParseSecChUa extends java.lang.Object implements nl.basjes.parse.useragent.clienthints.parsers.CHParser
{
public static final java.lang.String HEADER_FIELD;
public static final java.lang.String HEADER_SPEC_URL;
public static final java.lang.String HEADER_SPEC;
public static final java.lang.String FIELD_NAME;
private transient java.util.Map cache;
public void <init>()
{
nl.basjes.parse.useragent.clienthints.parsers.ParseSecChUa v;
v := @this: nl.basjes.parse.useragent.clienthints.parsers.ParseSecChUa;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<nl.basjes.parse.useragent.clienthints.parsers.ParseSecChUa: java.util.Map cache> = null;
return;
}
public void initializeCache(nl.basjes.parse.useragent.AbstractUserAgentAnalyzer$ClientHintsCacheInstantiator, int)
{
nl.basjes.parse.useragent.clienthints.parsers.ParseSecChUa v;
java.util.Map v;
int v;
nl.basjes.parse.useragent.AbstractUserAgentAnalyzer$ClientHintsCacheInstantiator v;
v := @this: nl.basjes.parse.useragent.clienthints.parsers.ParseSecChUa;
v := @parameter: nl.basjes.parse.useragent.AbstractUserAgentAnalyzer$ClientHintsCacheInstantiator;
v := @parameter: int;
if v > 0 goto label;
v.<nl.basjes.parse.useragent.clienthints.parsers.ParseSecChUa: java.util.Map cache> = null;
goto label;
label:
v = interfaceinvoke v.<nl.basjes.parse.useragent.AbstractUserAgentAnalyzer$ClientHintsCacheInstantiator: java.util.Map instantiateCache(int)>(v);
v.<nl.basjes.parse.useragent.clienthints.parsers.ParseSecChUa: java.util.Map cache> = v;
label:
return;
}
public void clearCache()
{
nl.basjes.parse.useragent.clienthints.parsers.ParseSecChUa v;
java.util.Map v, v;
v := @this: nl.basjes.parse.useragent.clienthints.parsers.ParseSecChUa;
v = v.<nl.basjes.parse.useragent.clienthints.parsers.ParseSecChUa: java.util.Map cache>;
if v == null goto label;
v = v.<nl.basjes.parse.useragent.clienthints.parsers.ParseSecChUa: java.util.Map cache>;
interfaceinvoke v.<java.util.Map: void clear()>();
label:
return;
}
public nl.basjes.parse.useragent.clienthints.ClientHints parse(java.util.Map, nl.basjes.parse.useragent.clienthints.ClientHints, java.lang.String)
{
nl.basjes.parse.useragent.clienthints.parsers.ParseSecChUa v;
java.util.function.Function v;
java.util.Map v, v, v;
nl.basjes.parse.useragent.clienthints.ClientHints v;
java.lang.Object v, v;
java.lang.String v;
boolean v;
v := @this: nl.basjes.parse.useragent.clienthints.parsers.ParseSecChUa;
v := @parameter: java.util.Map;
v := @parameter: nl.basjes.parse.useragent.clienthints.ClientHints;
v := @parameter: java.lang.String;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
return v;
label:
v = v.<nl.basjes.parse.useragent.clienthints.parsers.ParseSecChUa: java.util.Map cache>;
if v != null goto label;
staticinvoke <nl.basjes.parse.useragent.clienthints.parsers.BrandListParser: java.util.ArrayList parse(java.lang.String)>(v);
goto label;
label:
v = v.<nl.basjes.parse.useragent.clienthints.parsers.ParseSecChUa: java.util.Map cache>;
v = staticinvoke <nl.basjes.parse.useragent.clienthints.parsers.ParseSecChUa$lambda_parse_0__119: java.util.function.Function bootstrap$(java.lang.String)>(v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object computeIfAbsent(java.lang.Object,java.util.function.Function)>(v, v);
label:
v = virtualinvoke v.<java.util.ArrayList: boolean isEmpty()>();
if v != 0 goto label;
virtualinvoke v.<nl.basjes.parse.useragent.clienthints.ClientHints: void setBrands(java.util.ArrayList)>(v);
label:
return v;
}
public java.lang.String inputField()
{
nl.basjes.parse.useragent.clienthints.parsers.ParseSecChUa v;
v := @this: nl.basjes.parse.useragent.clienthints.parsers.ParseSecChUa;
return "Sec-CH-UA";
}
public static nl.basjes.parse.useragent.AbstractUserAgentAnalyzerDirect$HeaderSpecification getHeaderSpecification()
{
nl.basjes.parse.useragent.AbstractUserAgentAnalyzerDirect$HeaderSpecification v;
v = new nl.basjes.parse.useragent.AbstractUserAgentAnalyzerDirect$HeaderSpecification;
specialinvoke v.<nl.basjes.parse.useragent.AbstractUserAgentAnalyzerDirect$HeaderSpecification: void <init>(java.lang.String,java.lang.String,java.lang.String,java.lang.String)>("Sec-CH-UA", "https://wicg.github.io/ua-client-hints/#sec-ch-ua", "The Sec-CH-UA request header field gives a server information about a user agent\'s branding and version.", "secChUa");
return v;
}
}