public class nl.basjes.collections.prefixmap.StringPrefixMap extends java.lang.Object implements nl.basjes.collections.PrefixMap, java.io.Serializable
{
private final java.lang.Boolean caseSensitive;
private final nl.basjes.collections.prefixmap.PrefixTrie prefixTrie;
private final java.util.TreeMap allPrefixes;
nl.basjes.collections.prefixmap.PrefixTrie createTrie(boolean)
{
nl.basjes.collections.prefixmap.StringPrefixTrie v;
nl.basjes.collections.prefixmap.StringPrefixMap v;
boolean v;
v := @this: nl.basjes.collections.prefixmap.StringPrefixMap;
v := @parameter: boolean;
v = new nl.basjes.collections.prefixmap.StringPrefixTrie;
specialinvoke v.<nl.basjes.collections.prefixmap.StringPrefixTrie: void <init>(boolean)>(v);
return v;
}
public void <init>(boolean)
{
nl.basjes.collections.prefixmap.PrefixTrie v;
java.util.TreeMap v;
nl.basjes.collections.prefixmap.StringPrefixMap v;
java.lang.Boolean v;
boolean v;
v := @this: nl.basjes.collections.prefixmap.StringPrefixMap;
v := @parameter: boolean;
specialinvoke v.<java.lang.Object: void <init>()>();
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
v.<nl.basjes.collections.prefixmap.StringPrefixMap: java.lang.Boolean caseSensitive> = v;
v = virtualinvoke v.<nl.basjes.collections.prefixmap.StringPrefixMap: nl.basjes.collections.prefixmap.PrefixTrie createTrie(boolean)>(v);
v.<nl.basjes.collections.prefixmap.StringPrefixMap: nl.basjes.collections.prefixmap.PrefixTrie prefixTrie> = v;
v = new java.util.TreeMap;
specialinvoke v.<java.util.TreeMap: void <init>()>();
v.<nl.basjes.collections.prefixmap.StringPrefixMap: java.util.TreeMap allPrefixes> = v;
return;
}
public static void configureKryo(java.lang.Object)
{
java.lang.Object v;
v := @parameter: java.lang.Object;
virtualinvoke v.<com.esotericsoftware.kryo.Kryo: com.esotericsoftware.kryo.Registration register(java.lang.Class)>(class "Lnl/basjes/collections/prefixmap/StringPrefixMap;");
virtualinvoke v.<com.esotericsoftware.kryo.Kryo: com.esotericsoftware.kryo.Registration register(java.lang.Class)>(class "Lnl/basjes/collections/prefixmap/StringPrefixTrie;");
virtualinvoke v.<com.esotericsoftware.kryo.Kryo: com.esotericsoftware.kryo.Registration register(java.lang.Class)>(class "Ljava/util/TreeMap;");
return;
}
public boolean containsPrefix(java.lang.String)
{
nl.basjes.collections.prefixmap.PrefixTrie v;
nl.basjes.collections.prefixmap.StringPrefixMap v;
java.lang.String v;
boolean v;
v := @this: nl.basjes.collections.prefixmap.StringPrefixMap;
v := @parameter: java.lang.String;
v = v.<nl.basjes.collections.prefixmap.StringPrefixMap: nl.basjes.collections.prefixmap.PrefixTrie prefixTrie>;
v = interfaceinvoke v.<nl.basjes.collections.prefixmap.PrefixTrie: boolean containsPrefix(java.lang.String)>(v);
return v;
}
private java.lang.String storedKey(java.lang.String)
{
nl.basjes.collections.prefixmap.PrefixTrie v;
nl.basjes.collections.prefixmap.StringPrefixMap v;
java.lang.String v, v;
boolean v;
v := @this: nl.basjes.collections.prefixmap.StringPrefixMap;
v := @parameter: java.lang.String;
v = v.<nl.basjes.collections.prefixmap.StringPrefixMap: nl.basjes.collections.prefixmap.PrefixTrie prefixTrie>;
v = interfaceinvoke v.<nl.basjes.collections.prefixmap.PrefixTrie: boolean caseSensitive()>();
if v == 0 goto label;
return v;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase()>();
return v;
}
public java.io.Serializable put(java.lang.String, java.io.Serializable)
{
java.lang.NullPointerException v, v;
java.io.Serializable v, v;
nl.basjes.collections.prefixmap.PrefixTrie v;
java.util.TreeMap v;
nl.basjes.collections.prefixmap.StringPrefixMap v;
java.lang.String v, v;
v := @this: nl.basjes.collections.prefixmap.StringPrefixMap;
v := @parameter: java.lang.String;
v := @parameter: java.io.Serializable;
if v != null goto label;
v = new java.lang.NullPointerException;
specialinvoke v.<java.lang.NullPointerException: void <init>(java.lang.String)>("The prefix may not be null");
throw v;
label:
if v != null goto label;
v = new java.lang.NullPointerException;
specialinvoke v.<java.lang.NullPointerException: void <init>(java.lang.String)>("The value may not be null");
throw v;
label:
v = v.<nl.basjes.collections.prefixmap.StringPrefixMap: nl.basjes.collections.prefixmap.PrefixTrie prefixTrie>;
v = interfaceinvoke v.<nl.basjes.collections.prefixmap.PrefixTrie: java.io.Serializable add(java.lang.String,java.io.Serializable)>(v, v);
if v != null goto label;
v = v.<nl.basjes.collections.prefixmap.StringPrefixMap: java.util.TreeMap allPrefixes>;
v = specialinvoke v.<nl.basjes.collections.prefixmap.StringPrefixMap: java.lang.String storedKey(java.lang.String)>(v);
virtualinvoke v.<java.util.TreeMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
return v;
}
public int size()
{
int v;
java.util.TreeMap v;
nl.basjes.collections.prefixmap.StringPrefixMap v;
v := @this: nl.basjes.collections.prefixmap.StringPrefixMap;
v = v.<nl.basjes.collections.prefixmap.StringPrefixMap: java.util.TreeMap allPrefixes>;
v = virtualinvoke v.<java.util.TreeMap: int size()>();
return v;
}
public void clear()
{
nl.basjes.collections.prefixmap.PrefixTrie v;
java.util.TreeMap v;
nl.basjes.collections.prefixmap.StringPrefixMap v;
v := @this: nl.basjes.collections.prefixmap.StringPrefixMap;
v = v.<nl.basjes.collections.prefixmap.StringPrefixMap: nl.basjes.collections.prefixmap.PrefixTrie prefixTrie>;
interfaceinvoke v.<nl.basjes.collections.prefixmap.PrefixTrie: void clear()>();
v = v.<nl.basjes.collections.prefixmap.StringPrefixMap: java.util.TreeMap allPrefixes>;
virtualinvoke v.<java.util.TreeMap: void clear()>();
return;
}
public java.io.Serializable remove(java.lang.String)
{
nl.basjes.collections.prefixmap.PrefixTrie v;
java.util.TreeMap v;
nl.basjes.collections.prefixmap.StringPrefixMap v;
java.lang.String v, v;
java.lang.NullPointerException v;
java.io.Serializable v;
v := @this: nl.basjes.collections.prefixmap.StringPrefixMap;
v := @parameter: java.lang.String;
if v != null goto label;
v = new java.lang.NullPointerException;
specialinvoke v.<java.lang.NullPointerException: void <init>(java.lang.String)>("The prefix may not be null");
throw v;
label:
v = v.<nl.basjes.collections.prefixmap.StringPrefixMap: nl.basjes.collections.prefixmap.PrefixTrie prefixTrie>;
v = interfaceinvoke v.<nl.basjes.collections.prefixmap.PrefixTrie: java.io.Serializable remove(java.lang.String)>(v);
if v == null goto label;
v = v.<nl.basjes.collections.prefixmap.StringPrefixMap: java.util.TreeMap allPrefixes>;
v = specialinvoke v.<nl.basjes.collections.prefixmap.StringPrefixMap: java.lang.String storedKey(java.lang.String)>(v);
virtualinvoke v.<java.util.TreeMap: java.lang.Object remove(java.lang.Object)>(v);
label:
return v;
}
public java.io.Serializable get(java.lang.String)
{
nl.basjes.collections.prefixmap.PrefixTrie v;
nl.basjes.collections.prefixmap.StringPrefixMap v;
java.lang.String v;
java.io.Serializable v;
v := @this: nl.basjes.collections.prefixmap.StringPrefixMap;
v := @parameter: java.lang.String;
v = v.<nl.basjes.collections.prefixmap.StringPrefixMap: nl.basjes.collections.prefixmap.PrefixTrie prefixTrie>;
v = interfaceinvoke v.<nl.basjes.collections.prefixmap.PrefixTrie: java.io.Serializable get(java.lang.String)>(v);
return v;
}
public java.io.Serializable getShortestMatch(java.lang.String)
{
nl.basjes.collections.prefixmap.PrefixTrie v;
nl.basjes.collections.prefixmap.StringPrefixMap v;
java.lang.String v;
java.io.Serializable v;
v := @this: nl.basjes.collections.prefixmap.StringPrefixMap;
v := @parameter: java.lang.String;
v = v.<nl.basjes.collections.prefixmap.StringPrefixMap: nl.basjes.collections.prefixmap.PrefixTrie prefixTrie>;
v = interfaceinvoke v.<nl.basjes.collections.prefixmap.PrefixTrie: java.io.Serializable getShortestMatch(java.lang.String)>(v);
return v;
}
public java.io.Serializable getLongestMatch(java.lang.String)
{
nl.basjes.collections.prefixmap.PrefixTrie v;
nl.basjes.collections.prefixmap.StringPrefixMap v;
java.lang.String v;
java.io.Serializable v;
v := @this: nl.basjes.collections.prefixmap.StringPrefixMap;
v := @parameter: java.lang.String;
v = v.<nl.basjes.collections.prefixmap.StringPrefixMap: nl.basjes.collections.prefixmap.PrefixTrie prefixTrie>;
v = interfaceinvoke v.<nl.basjes.collections.prefixmap.PrefixTrie: java.io.Serializable getLongestMatch(java.lang.String)>(v);
return v;
}
public java.util.Set entrySet()
{
java.util.Set v;
java.util.TreeMap v;
nl.basjes.collections.prefixmap.StringPrefixMap v;
v := @this: nl.basjes.collections.prefixmap.StringPrefixMap;
v = v.<nl.basjes.collections.prefixmap.StringPrefixMap: java.util.TreeMap allPrefixes>;
v = virtualinvoke v.<java.util.TreeMap: java.util.Set entrySet()>();
return v;
}
public boolean containsKey(java.lang.Object)
{
java.util.TreeMap v;
nl.basjes.collections.prefixmap.StringPrefixMap v;
java.lang.Object v;
java.lang.String v;
boolean v;
v := @this: nl.basjes.collections.prefixmap.StringPrefixMap;
v := @parameter: java.lang.Object;
v = v.<nl.basjes.collections.prefixmap.StringPrefixMap: java.util.TreeMap allPrefixes>;
v = specialinvoke v.<nl.basjes.collections.prefixmap.StringPrefixMap: java.lang.String storedKey(java.lang.String)>(v);
v = virtualinvoke v.<java.util.TreeMap: boolean containsKey(java.lang.Object)>(v);
return v;
}
public boolean containsValue(java.lang.Object)
{
java.util.TreeMap v;
nl.basjes.collections.prefixmap.StringPrefixMap v;
java.lang.Object v;
boolean v;
v := @this: nl.basjes.collections.prefixmap.StringPrefixMap;
v := @parameter: java.lang.Object;
v = v.<nl.basjes.collections.prefixmap.StringPrefixMap: java.util.TreeMap allPrefixes>;
v = virtualinvoke v.<java.util.TreeMap: boolean containsValue(java.lang.Object)>(v);
return v;
}
public java.util.Set keySet()
{
java.util.Set v;
java.util.TreeMap v;
nl.basjes.collections.prefixmap.StringPrefixMap v;
v := @this: nl.basjes.collections.prefixmap.StringPrefixMap;
v = v.<nl.basjes.collections.prefixmap.StringPrefixMap: java.util.TreeMap allPrefixes>;
v = virtualinvoke v.<java.util.TreeMap: java.util.Set keySet()>();
return v;
}
public java.util.Collection values()
{
java.util.TreeMap v;
nl.basjes.collections.prefixmap.StringPrefixMap v;
java.util.Collection v;
v := @this: nl.basjes.collections.prefixmap.StringPrefixMap;
v = v.<nl.basjes.collections.prefixmap.StringPrefixMap: java.util.TreeMap allPrefixes>;
v = virtualinvoke v.<java.util.TreeMap: java.util.Collection values()>();
return v;
}
}