public class org.mongodb.morphia.geo.GeometryShapeConverter extends org.mongodb.morphia.converters.TypeConverter implements org.mongodb.morphia.converters.SimpleValueConverter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.mongodb.morphia.geo.GeometryShapeConverter
super_class: org.mongodb.morphia.converters.TypeConverter
{
private final org.mongodb.morphia.geo.GeoJsonType geoJsonType;
descriptor: Lorg/mongodb/morphia/geo/GeoJsonType;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<org.mongodb.morphia.geo.GeometryFactory> factories;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lorg/mongodb/morphia/geo/GeometryFactory;>;
void <init>(org.mongodb.morphia.geo.GeoJsonType[]);
descriptor: ([Lorg/mongodb/morphia/geo/GeoJsonType;)V
flags: (0x0080) ACC_VARARGS
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
anewarray java.lang.Class
dup
iconst_0
aload 1
iconst_0
aaload
invokevirtual org.mongodb.morphia.geo.GeoJsonType.getTypeClass:()Ljava/lang/Class;
aastore
invokespecial org.mongodb.morphia.converters.TypeConverter.<init>:([Ljava/lang/Class;)V
1: aload 0
aload 1
iconst_0
aaload
putfield org.mongodb.morphia.geo.GeometryShapeConverter.geoJsonType:Lorg/mongodb/morphia/geo/GeoJsonType;
2: aload 0
aload 1
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
putfield org.mongodb.morphia.geo.GeometryShapeConverter.factories:Ljava/util/List;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/mongodb/morphia/geo/GeometryShapeConverter;
0 4 1 geoJsonTypes [Lorg/mongodb/morphia/geo/GeoJsonType;
MethodParameters:
Name Flags
geoJsonTypes final
public org.mongodb.morphia.geo.Geometry decode(java.lang.Class<?>, , org.mongodb.morphia.mapping.MappedField);
descriptor: (Ljava/lang/Class;Ljava/lang/Object;Lorg/mongodb/morphia/mapping/MappedField;)Lorg/mongodb/morphia/geo/Geometry;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
checkcast com.mongodb.DBObject
ldc "coordinates"
invokeinterface com.mongodb.DBObject.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.util.List
aload 0
getfield org.mongodb.morphia.geo.GeometryShapeConverter.factories:Ljava/util/List;
invokevirtual org.mongodb.morphia.geo.GeometryShapeConverter.decodeObject:(Ljava/util/List;Ljava/util/List;)Lorg/mongodb/morphia/geo/Geometry;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/geo/GeometryShapeConverter;
0 1 1 targetClass Ljava/lang/Class<*>;
0 1 2 fromDBObject Ljava/lang/Object;
0 1 3 optionalExtraInfo Lorg/mongodb/morphia/mapping/MappedField;
Signature: (Ljava/lang/Class<*>;Ljava/lang/Object;Lorg/mongodb/morphia/mapping/MappedField;)Lorg/mongodb/morphia/geo/Geometry;
MethodParameters:
Name Flags
targetClass final
fromDBObject final
optionalExtraInfo final
public java.lang.Object encode(java.lang.Object, org.mongodb.morphia.mapping.MappedField);
descriptor: (Ljava/lang/Object;Lorg/mongodb/morphia/mapping/MappedField;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 5
1: aload 0
aload 1
checkcast org.mongodb.morphia.geo.Geometry
invokeinterface org.mongodb.morphia.geo.Geometry.getCoordinates:()Ljava/util/List;
invokevirtual org.mongodb.morphia.geo.GeometryShapeConverter.encodeObjects:(Ljava/util/List;)Ljava/lang/Object;
astore 3
start local 3 2: new com.mongodb.BasicDBObject
dup
ldc "type"
aload 0
getfield org.mongodb.morphia.geo.GeometryShapeConverter.geoJsonType:Lorg/mongodb/morphia/geo/GeoJsonType;
invokevirtual org.mongodb.morphia.geo.GeoJsonType.getType:()Ljava/lang/String;
invokespecial com.mongodb.BasicDBObject.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
3: ldc "coordinates"
aload 3
invokevirtual com.mongodb.BasicDBObject.append:(Ljava/lang/String;Ljava/lang/Object;)Lcom/mongodb/BasicDBObject;
4: areturn
end local 3 5: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/mongodb/morphia/geo/GeometryShapeConverter;
0 6 1 value Ljava/lang/Object;
0 6 2 optionalExtraInfo Lorg/mongodb/morphia/mapping/MappedField;
2 5 3 encodedObjects Ljava/lang/Object;
MethodParameters:
Name Flags
value final
optionalExtraInfo final
private org.mongodb.morphia.geo.Geometry decodeObject(java.util.List, java.util.List<org.mongodb.morphia.geo.GeometryFactory>);
descriptor: (Ljava/util/List;Ljava/util/List;)Lorg/mongodb/morphia/geo/Geometry;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.mongodb.morphia.geo.GeometryFactory
astore 3
start local 3 1: aload 2
invokeinterface java.util.List.size:()I
iconst_1
if_icmpne 3
2: aload 3
aload 1
invokeinterface org.mongodb.morphia.geo.GeometryFactory.createGeometry:(Ljava/util/List;)Lorg/mongodb/morphia/geo/Geometry;
areturn
3: StackMap locals: org.mongodb.morphia.geo.GeometryFactory
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 4: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 9
StackMap locals: org.mongodb.morphia.geo.GeometryShapeConverter java.util.List java.util.List org.mongodb.morphia.geo.GeometryFactory java.util.List top java.util.Iterator
StackMap stack:
5: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 5
start local 5 6: aload 4
aload 0
aload 5
checkcast java.util.List
7: aload 2
iconst_1
aload 2
invokeinterface java.util.List.size:()I
invokeinterface java.util.List.subList:(II)Ljava/util/List;
8: invokevirtual org.mongodb.morphia.geo.GeometryShapeConverter.decodeObject:(Ljava/util/List;Ljava/util/List;)Lorg/mongodb/morphia/geo/Geometry;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 9: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
10: aload 3
aload 4
invokeinterface org.mongodb.morphia.geo.GeometryFactory.createGeometry:(Ljava/util/List;)Lorg/mongodb/morphia/geo/Geometry;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/mongodb/morphia/geo/GeometryShapeConverter;
0 11 1 mongoDBGeometry Ljava/util/List;
0 11 2 geometryFactories Ljava/util/List<Lorg/mongodb/morphia/geo/GeometryFactory;>;
1 11 3 factory Lorg/mongodb/morphia/geo/GeometryFactory;
4 11 4 decodedObjects Ljava/util/List<Lorg/mongodb/morphia/geo/Geometry;>;
6 9 5 objectThatNeedsDecoding Ljava/lang/Object;
Signature: (Ljava/util/List;Ljava/util/List<Lorg/mongodb/morphia/geo/GeometryFactory;>;)Lorg/mongodb/morphia/geo/Geometry;
MethodParameters:
Name Flags
mongoDBGeometry final
geometryFactories final
private java.lang.Object encodeObjects(java.util.List);
descriptor: (Ljava/util/List;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 7
StackMap locals: org.mongodb.morphia.geo.GeometryShapeConverter java.util.List java.util.List top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 3
start local 3 3: aload 3
instanceof org.mongodb.morphia.geo.Geometry
ifeq 6
4: aload 2
aload 0
aload 3
checkcast org.mongodb.morphia.geo.Geometry
invokeinterface org.mongodb.morphia.geo.Geometry.getCoordinates:()Ljava/util/List;
invokevirtual org.mongodb.morphia.geo.GeometryShapeConverter.encodeObjects:(Ljava/util/List;)Ljava/lang/Object;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
5: goto 7
6: StackMap locals: org.mongodb.morphia.geo.GeometryShapeConverter java.util.List java.util.List java.lang.Object java.util.Iterator
StackMap stack:
aload 2
aload 0
invokevirtual org.mongodb.morphia.geo.GeometryShapeConverter.getMapper:()Lorg/mongodb/morphia/mapping/Mapper;
invokevirtual org.mongodb.morphia.mapping.Mapper.getConverters:()Lorg/mongodb/morphia/converters/Converters;
aload 3
invokevirtual org.mongodb.morphia.converters.Converters.encode:(Ljava/lang/Object;)Ljava/lang/Object;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 7: StackMap locals: org.mongodb.morphia.geo.GeometryShapeConverter java.util.List java.util.List top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
8: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/mongodb/morphia/geo/GeometryShapeConverter;
0 9 1 value Ljava/util/List;
1 9 2 encodedObjects Ljava/util/List<Ljava/lang/Object;>;
3 7 3 object Ljava/lang/Object;
MethodParameters:
Name Flags
value final
public java.lang.Object decode(java.lang.Class, java.lang.Object, org.mongodb.morphia.mapping.MappedField);
descriptor: (Ljava/lang/Class;Ljava/lang/Object;Lorg/mongodb/morphia/mapping/MappedField;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
aload 2
aload 3
invokevirtual org.mongodb.morphia.geo.GeometryShapeConverter.decode:(Ljava/lang/Class;Ljava/lang/Object;Lorg/mongodb/morphia/mapping/MappedField;)Lorg/mongodb/morphia/geo/Geometry;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "GeometryShapeConverter.java"
NestMembers:
org.mongodb.morphia.geo.GeometryShapeConverter$LineStringConverter org.mongodb.morphia.geo.GeometryShapeConverter$MultiLineStringConverter org.mongodb.morphia.geo.GeometryShapeConverter$MultiPointConverter org.mongodb.morphia.geo.GeometryShapeConverter$MultiPolygonConverter org.mongodb.morphia.geo.GeometryShapeConverter$PointConverter org.mongodb.morphia.geo.GeometryShapeConverter$PolygonConverter
InnerClasses:
public LineStringConverter = org.mongodb.morphia.geo.GeometryShapeConverter$LineStringConverter of org.mongodb.morphia.geo.GeometryShapeConverter
public MultiLineStringConverter = org.mongodb.morphia.geo.GeometryShapeConverter$MultiLineStringConverter of org.mongodb.morphia.geo.GeometryShapeConverter
public MultiPointConverter = org.mongodb.morphia.geo.GeometryShapeConverter$MultiPointConverter of org.mongodb.morphia.geo.GeometryShapeConverter
public MultiPolygonConverter = org.mongodb.morphia.geo.GeometryShapeConverter$MultiPolygonConverter of org.mongodb.morphia.geo.GeometryShapeConverter
public PointConverter = org.mongodb.morphia.geo.GeometryShapeConverter$PointConverter of org.mongodb.morphia.geo.GeometryShapeConverter
public PolygonConverter = org.mongodb.morphia.geo.GeometryShapeConverter$PolygonConverter of org.mongodb.morphia.geo.GeometryShapeConverter