public final class org.mongodb.morphia.geo.GeoJson
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.mongodb.morphia.geo.GeoJson
super_class: java.lang.Object
{
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/mongodb/morphia/geo/GeoJson;
public static org.mongodb.morphia.geo.Point point(double, double);
descriptor: (DD)Lorg/mongodb/morphia/geo/Point;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 2 0: new org.mongodb.morphia.geo.Point
dup
dload 0
dload 2
invokespecial org.mongodb.morphia.geo.Point.<init>:(DD)V
areturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 latitude D
0 1 2 longitude D
MethodParameters:
Name Flags
latitude final
longitude final
public static org.mongodb.morphia.geo.Polygon polygon(org.mongodb.morphia.geo.Point[]);
descriptor: ([Lorg/mongodb/morphia/geo/Point;)Lorg/mongodb/morphia/geo/Polygon;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokestatic org.mongodb.morphia.geo.GeoJson.lineString:([Lorg/mongodb/morphia/geo/Point;)Lorg/mongodb/morphia/geo/LineString;
astore 1
start local 1 1: aload 1
invokestatic org.mongodb.morphia.geo.GeoJson.ensurePolygonIsClosed:(Lorg/mongodb/morphia/geo/LineString;)V
2: new org.mongodb.morphia.geo.Polygon
dup
aload 1
iconst_0
anewarray org.mongodb.morphia.geo.LineString
invokespecial org.mongodb.morphia.geo.Polygon.<init>:(Lorg/mongodb/morphia/geo/LineString;[Lorg/mongodb/morphia/geo/LineString;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 points [Lorg/mongodb/morphia/geo/Point;
1 3 1 exteriorBoundary Lorg/mongodb/morphia/geo/LineString;
MethodParameters:
Name Flags
points final
public static org.mongodb.morphia.geo.LineString lineString(org.mongodb.morphia.geo.Point[]);
descriptor: ([Lorg/mongodb/morphia/geo/Point;)Lorg/mongodb/morphia/geo/LineString;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.mongodb.morphia.geo.LineString
dup
aload 0
invokespecial org.mongodb.morphia.geo.LineString.<init>:([Lorg/mongodb/morphia/geo/Point;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 points [Lorg/mongodb/morphia/geo/Point;
MethodParameters:
Name Flags
points final
private static void ensurePolygonIsClosed(org.mongodb.morphia.geo.LineString);
descriptor: (Lorg/mongodb/morphia/geo/LineString;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.mongodb.morphia.geo.LineString.getCoordinates:()Ljava/util/List;
invokeinterface java.util.List.size:()I
istore 1
start local 1 1: iload 1
ifle 3
aload 0
invokevirtual org.mongodb.morphia.geo.LineString.getCoordinates:()Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.mongodb.morphia.geo.Point
aload 0
invokevirtual org.mongodb.morphia.geo.LineString.getCoordinates:()Ljava/util/List;
iload 1
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
invokevirtual org.mongodb.morphia.geo.Point.equals:(Ljava/lang/Object;)Z
ifne 3
2: new java.lang.IllegalArgumentException
dup
ldc "A polygon requires the starting point to be the same as the end to ensure a closed area"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: int
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 points Lorg/mongodb/morphia/geo/LineString;
1 4 1 size I
MethodParameters:
Name Flags
points final
public static org.mongodb.morphia.geo.Polygon polygon(org.mongodb.morphia.geo.LineString, org.mongodb.morphia.geo.LineString[]);
descriptor: (Lorg/mongodb/morphia/geo/LineString;[Lorg/mongodb/morphia/geo/LineString;)Lorg/mongodb/morphia/geo/Polygon;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokestatic org.mongodb.morphia.geo.GeoJson.ensurePolygonIsClosed:(Lorg/mongodb/morphia/geo/LineString;)V
1: aload 1
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 5
StackMap locals: org.mongodb.morphia.geo.LineString org.mongodb.morphia.geo.LineString[] top int int org.mongodb.morphia.geo.LineString[]
StackMap stack:
2: aload 5
iload 3
aaload
astore 2
start local 2 3: aload 2
invokestatic org.mongodb.morphia.geo.GeoJson.ensurePolygonIsClosed:(Lorg/mongodb/morphia/geo/LineString;)V
end local 2 4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 4
if_icmplt 2
6: new org.mongodb.morphia.geo.Polygon
dup
aload 0
aload 1
invokespecial org.mongodb.morphia.geo.Polygon.<init>:(Lorg/mongodb/morphia/geo/LineString;[Lorg/mongodb/morphia/geo/LineString;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 exteriorBoundary Lorg/mongodb/morphia/geo/LineString;
0 7 1 interiorBoundaries [Lorg/mongodb/morphia/geo/LineString;
3 4 2 boundary Lorg/mongodb/morphia/geo/LineString;
MethodParameters:
Name Flags
exteriorBoundary final
interiorBoundaries final
public static org.mongodb.morphia.geo.MultiPoint multiPoint(org.mongodb.morphia.geo.Point[]);
descriptor: ([Lorg/mongodb/morphia/geo/Point;)Lorg/mongodb/morphia/geo/MultiPoint;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.mongodb.morphia.geo.MultiPoint
dup
aload 0
invokespecial org.mongodb.morphia.geo.MultiPoint.<init>:([Lorg/mongodb/morphia/geo/Point;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 points [Lorg/mongodb/morphia/geo/Point;
MethodParameters:
Name Flags
points final
public static org.mongodb.morphia.geo.MultiLineString multiLineString(org.mongodb.morphia.geo.LineString[]);
descriptor: ([Lorg/mongodb/morphia/geo/LineString;)Lorg/mongodb/morphia/geo/MultiLineString;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.mongodb.morphia.geo.MultiLineString
dup
aload 0
invokespecial org.mongodb.morphia.geo.MultiLineString.<init>:([Lorg/mongodb/morphia/geo/LineString;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 lines [Lorg/mongodb/morphia/geo/LineString;
MethodParameters:
Name Flags
lines final
public static org.mongodb.morphia.geo.MultiPolygon multiPolygon(org.mongodb.morphia.geo.Polygon[]);
descriptor: ([Lorg/mongodb/morphia/geo/Polygon;)Lorg/mongodb/morphia/geo/MultiPolygon;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.mongodb.morphia.geo.MultiPolygon
dup
aload 0
invokespecial org.mongodb.morphia.geo.MultiPolygon.<init>:([Lorg/mongodb/morphia/geo/Polygon;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 polygons [Lorg/mongodb/morphia/geo/Polygon;
MethodParameters:
Name Flags
polygons final
public static org.mongodb.morphia.geo.GeometryCollection geometryCollection(org.mongodb.morphia.geo.Geometry[]);
descriptor: ([Lorg/mongodb/morphia/geo/Geometry;)Lorg/mongodb/morphia/geo/GeometryCollection;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.mongodb.morphia.geo.GeometryCollection
dup
aload 0
invokespecial org.mongodb.morphia.geo.GeometryCollection.<init>:([Lorg/mongodb/morphia/geo/Geometry;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 geometries [Lorg/mongodb/morphia/geo/Geometry;
MethodParameters:
Name Flags
geometries final
}
SourceFile: "GeoJson.java"