public class freemarker.template.DefaultMapAdapter extends freemarker.template.WrappingTemplateModel implements freemarker.template.TemplateHashModelEx2, freemarker.template.AdapterTemplateModel, freemarker.ext.util.WrapperTemplateModel, freemarker.template.TemplateModelWithAPISupport, java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: freemarker.template.DefaultMapAdapter
super_class: freemarker.template.WrappingTemplateModel
{
private final java.util.Map map;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public static freemarker.template.DefaultMapAdapter adapt(java.util.Map, freemarker.template.utility.ObjectWrapperWithAPISupport);
descriptor: (Ljava/util/Map;Lfreemarker/template/utility/ObjectWrapperWithAPISupport;)Lfreemarker/template/DefaultMapAdapter;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new freemarker.template.DefaultMapAdapter
dup
aload 0
aload 1
invokespecial freemarker.template.DefaultMapAdapter.<init>:(Ljava/util/Map;Lfreemarker/template/ObjectWrapper;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 map Ljava/util/Map;
0 1 1 wrapper Lfreemarker/template/utility/ObjectWrapperWithAPISupport;
MethodParameters:
Name Flags
map
wrapper
private void <init>(java.util.Map, freemarker.template.ObjectWrapper);
descriptor: (Ljava/util/Map;Lfreemarker/template/ObjectWrapper;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokespecial freemarker.template.WrappingTemplateModel.<init>:(Lfreemarker/template/ObjectWrapper;)V
1: aload 0
aload 1
putfield freemarker.template.DefaultMapAdapter.map:Ljava/util/Map;
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lfreemarker/template/DefaultMapAdapter;
0 3 1 map Ljava/util/Map;
0 3 2 wrapper Lfreemarker/template/ObjectWrapper;
MethodParameters:
Name Flags
map
wrapper
public freemarker.template.TemplateModel get(java.lang.String);
descriptor: (Ljava/lang/String;)Lfreemarker/template/TemplateModel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield freemarker.template.DefaultMapAdapter.map:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 1: goto 12
end local 2 StackMap locals:
StackMap stack: java.lang.ClassCastException
2: astore 3
start local 3 3: new freemarker.core._TemplateModelException
dup
aload 3
iconst_2
anewarray java.lang.Object
dup
iconst_0
4: ldc "ClassCastException while getting Map entry with String key "
aastore
dup
iconst_1
5: new freemarker.core._DelayedJQuote
dup
aload 1
invokespecial freemarker.core._DelayedJQuote.<init>:(Ljava/lang/Object;)V
6: aastore
invokespecial freemarker.core._TemplateModelException.<init>:(Ljava/lang/Throwable;[Ljava/lang/Object;)V
athrow
end local 3 7: StackMap locals:
StackMap stack: java.lang.NullPointerException
astore 3
start local 3 8: new freemarker.core._TemplateModelException
dup
aload 3
iconst_2
anewarray java.lang.Object
dup
iconst_0
9: ldc "NullPointerException while getting Map entry with String key "
aastore
dup
iconst_1
10: new freemarker.core._DelayedJQuote
dup
aload 1
invokespecial freemarker.core._DelayedJQuote.<init>:(Ljava/lang/Object;)V
11: aastore
invokespecial freemarker.core._TemplateModelException.<init>:(Ljava/lang/Throwable;[Ljava/lang/Object;)V
athrow
end local 3 start local 2 12: StackMap locals: java.lang.Object
StackMap stack:
aload 2
ifnonnull 36
13: aload 1
invokevirtual java.lang.String.length:()I
iconst_1
if_icmpne 32
aload 0
getfield freemarker.template.DefaultMapAdapter.map:Ljava/util/Map;
instanceof java.util.SortedMap
ifne 32
14: aload 1
iconst_0
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
astore 3
start local 3 15: aload 0
getfield freemarker.template.DefaultMapAdapter.map:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
16: aload 2
ifnonnull 36
17: aload 0
aconst_null
invokevirtual freemarker.template.DefaultMapAdapter.wrap:(Ljava/lang/Object;)Lfreemarker/template/TemplateModel;
astore 4
start local 4 18: aload 4
ifnull 19
aload 0
getfield freemarker.template.DefaultMapAdapter.map:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 20
aload 0
getfield freemarker.template.DefaultMapAdapter.map:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 20
19: StackMap locals: java.lang.Character freemarker.template.TemplateModel
StackMap stack:
aconst_null
areturn
20: StackMap locals:
StackMap stack:
aload 4
21: areturn
end local 4 22: StackMap locals: freemarker.template.DefaultMapAdapter java.lang.String java.lang.Object java.lang.Character
StackMap stack: java.lang.ClassCastException
astore 4
start local 4 23: new freemarker.core._TemplateModelException
dup
aload 4
iconst_2
anewarray java.lang.Object
dup
iconst_0
24: ldc "Class casting exception while getting Map entry with Character key "
aastore
dup
iconst_1
25: new freemarker.core._DelayedJQuote
dup
aload 3
invokespecial freemarker.core._DelayedJQuote.<init>:(Ljava/lang/Object;)V
26: aastore
invokespecial freemarker.core._TemplateModelException.<init>:(Ljava/lang/Throwable;[Ljava/lang/Object;)V
athrow
end local 4 27: StackMap locals:
StackMap stack: java.lang.NullPointerException
astore 4
start local 4 28: new freemarker.core._TemplateModelException
dup
aload 4
iconst_2
anewarray java.lang.Object
dup
iconst_0
29: ldc "NullPointerException while getting Map entry with Character key "
aastore
dup
iconst_1
30: new freemarker.core._DelayedJQuote
dup
aload 3
invokespecial freemarker.core._DelayedJQuote.<init>:(Ljava/lang/Object;)V
31: aastore
invokespecial freemarker.core._TemplateModelException.<init>:(Ljava/lang/Throwable;[Ljava/lang/Object;)V
athrow
end local 4 end local 3 32: StackMap locals:
StackMap stack:
aload 0
aconst_null
invokevirtual freemarker.template.DefaultMapAdapter.wrap:(Ljava/lang/Object;)Lfreemarker/template/TemplateModel;
astore 3
start local 3 33: aload 3
ifnull 34
aload 0
getfield freemarker.template.DefaultMapAdapter.map:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 35
34: StackMap locals: freemarker.template.TemplateModel
StackMap stack:
aconst_null
areturn
35: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 36: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual freemarker.template.DefaultMapAdapter.wrap:(Ljava/lang/Object;)Lfreemarker/template/TemplateModel;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lfreemarker/template/DefaultMapAdapter;
0 37 1 key Ljava/lang/String;
1 2 2 val Ljava/lang/Object;
12 37 2 val Ljava/lang/Object;
3 7 3 e Ljava/lang/ClassCastException;
8 12 3 e Ljava/lang/NullPointerException;
15 32 3 charKey Ljava/lang/Character;
18 22 4 wrappedNull Lfreemarker/template/TemplateModel;
23 27 4 e Ljava/lang/ClassCastException;
28 32 4 e Ljava/lang/NullPointerException;
33 36 3 wrappedNull Lfreemarker/template/TemplateModel;
Exception table:
from to target type
0 1 2 Class java.lang.ClassCastException
0 1 7 Class java.lang.NullPointerException
15 19 22 Class java.lang.ClassCastException
20 21 22 Class java.lang.ClassCastException
15 19 27 Class java.lang.NullPointerException
20 21 27 Class java.lang.NullPointerException
Exceptions:
throws freemarker.template.TemplateModelException
MethodParameters:
Name Flags
key
public boolean isEmpty();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.template.DefaultMapAdapter.map:Ljava/util/Map;
invokeinterface java.util.Map.isEmpty:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/template/DefaultMapAdapter;
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.template.DefaultMapAdapter.map:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/template/DefaultMapAdapter;
public freemarker.template.TemplateCollectionModel keys();
descriptor: ()Lfreemarker/template/TemplateCollectionModel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new freemarker.template.SimpleCollection
dup
aload 0
getfield freemarker.template.DefaultMapAdapter.map:Ljava/util/Map;
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
aload 0
invokevirtual freemarker.template.DefaultMapAdapter.getObjectWrapper:()Lfreemarker/template/ObjectWrapper;
invokespecial freemarker.template.SimpleCollection.<init>:(Ljava/util/Collection;Lfreemarker/template/ObjectWrapper;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/template/DefaultMapAdapter;
public freemarker.template.TemplateCollectionModel values();
descriptor: ()Lfreemarker/template/TemplateCollectionModel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new freemarker.template.SimpleCollection
dup
aload 0
getfield freemarker.template.DefaultMapAdapter.map:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
aload 0
invokevirtual freemarker.template.DefaultMapAdapter.getObjectWrapper:()Lfreemarker/template/ObjectWrapper;
invokespecial freemarker.template.SimpleCollection.<init>:(Ljava/util/Collection;Lfreemarker/template/ObjectWrapper;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/template/DefaultMapAdapter;
public freemarker.template.TemplateHashModelEx2$KeyValuePairIterator keyValuePairIterator();
descriptor: ()Lfreemarker/template/TemplateHashModelEx2$KeyValuePairIterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new freemarker.template.MapKeyValuePairIterator
dup
aload 0
getfield freemarker.template.DefaultMapAdapter.map:Ljava/util/Map;
aload 0
invokevirtual freemarker.template.DefaultMapAdapter.getObjectWrapper:()Lfreemarker/template/ObjectWrapper;
invokespecial freemarker.template.MapKeyValuePairIterator.<init>:(Ljava/util/Map;Lfreemarker/template/ObjectWrapper;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/template/DefaultMapAdapter;
public java.lang.Object getAdaptedObject(java.lang.Class);
descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield freemarker.template.DefaultMapAdapter.map:Ljava/util/Map;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/template/DefaultMapAdapter;
0 1 1 hint Ljava/lang/Class;
MethodParameters:
Name Flags
hint
public java.lang.Object getWrappedObject();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.template.DefaultMapAdapter.map:Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/template/DefaultMapAdapter;
public freemarker.template.TemplateModel getAPI();
descriptor: ()Lfreemarker/template/TemplateModel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual freemarker.template.DefaultMapAdapter.getObjectWrapper:()Lfreemarker/template/ObjectWrapper;
checkcast freemarker.template.utility.ObjectWrapperWithAPISupport
aload 0
getfield freemarker.template.DefaultMapAdapter.map:Ljava/util/Map;
invokeinterface freemarker.template.utility.ObjectWrapperWithAPISupport.wrapAsAPI:(Ljava/lang/Object;)Lfreemarker/template/TemplateHashModel;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/template/DefaultMapAdapter;
Exceptions:
throws freemarker.template.TemplateModelException
}
SourceFile: "DefaultMapAdapter.java"
InnerClasses:
public abstract KeyValuePairIterator = freemarker.template.TemplateHashModelEx2$KeyValuePairIterator of freemarker.template.TemplateHashModelEx2