public abstract class org.apache.lucene.spatial.query.SpatialOperation implements java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.apache.lucene.spatial.query.SpatialOperation
  super_class: java.lang.Object
{
  private static final java.util.Map<java.lang.String, org.apache.lucene.spatial.query.SpatialOperation> registry;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/apache/lucene/spatial/query/SpatialOperation;>;

  private static final java.util.List<org.apache.lucene.spatial.query.SpatialOperation> list;
    descriptor: Ljava/util/List;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/List<Lorg/apache/lucene/spatial/query/SpatialOperation;>;

  public static final org.apache.lucene.spatial.query.SpatialOperation BBoxIntersects;
    descriptor: Lorg/apache/lucene/spatial/query/SpatialOperation;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.lucene.spatial.query.SpatialOperation BBoxWithin;
    descriptor: Lorg/apache/lucene/spatial/query/SpatialOperation;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.lucene.spatial.query.SpatialOperation Contains;
    descriptor: Lorg/apache/lucene/spatial/query/SpatialOperation;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.lucene.spatial.query.SpatialOperation Intersects;
    descriptor: Lorg/apache/lucene/spatial/query/SpatialOperation;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.lucene.spatial.query.SpatialOperation IsEqualTo;
    descriptor: Lorg/apache/lucene/spatial/query/SpatialOperation;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.lucene.spatial.query.SpatialOperation IsDisjointTo;
    descriptor: Lorg/apache/lucene/spatial/query/SpatialOperation;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.lucene.spatial.query.SpatialOperation IsWithin;
    descriptor: Lorg/apache/lucene/spatial/query/SpatialOperation;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.lucene.spatial.query.SpatialOperation Overlaps;
    descriptor: Lorg/apache/lucene/spatial/query/SpatialOperation;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private final java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 49
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic org.apache.lucene.spatial.query.SpatialOperation.registry:Ljava/util/Map;
         1: .line 50
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putstatic org.apache.lucene.spatial.query.SpatialOperation.list:Ljava/util/List;
         2: .line 55
            new org.apache.lucene.spatial.query.SpatialOperation$1
            dup
            ldc "BBoxIntersects"
            invokespecial org.apache.lucene.spatial.query.SpatialOperation$1.<init>:(Ljava/lang/String;)V
            putstatic org.apache.lucene.spatial.query.SpatialOperation.BBoxIntersects:Lorg/apache/lucene/spatial/query/SpatialOperation;
         3: .line 62
            new org.apache.lucene.spatial.query.SpatialOperation$2
            dup
            ldc "BBoxWithin"
            invokespecial org.apache.lucene.spatial.query.SpatialOperation$2.<init>:(Ljava/lang/String;)V
            putstatic org.apache.lucene.spatial.query.SpatialOperation.BBoxWithin:Lorg/apache/lucene/spatial/query/SpatialOperation;
         4: .line 73
            new org.apache.lucene.spatial.query.SpatialOperation$3
            dup
            ldc "Contains"
            invokespecial org.apache.lucene.spatial.query.SpatialOperation$3.<init>:(Ljava/lang/String;)V
            putstatic org.apache.lucene.spatial.query.SpatialOperation.Contains:Lorg/apache/lucene/spatial/query/SpatialOperation;
         5: .line 83
            new org.apache.lucene.spatial.query.SpatialOperation$4
            dup
            ldc "Intersects"
            invokespecial org.apache.lucene.spatial.query.SpatialOperation$4.<init>:(Ljava/lang/String;)V
            putstatic org.apache.lucene.spatial.query.SpatialOperation.Intersects:Lorg/apache/lucene/spatial/query/SpatialOperation;
         6: .line 90
            new org.apache.lucene.spatial.query.SpatialOperation$5
            dup
            ldc "Equals"
            invokespecial org.apache.lucene.spatial.query.SpatialOperation$5.<init>:(Ljava/lang/String;)V
            putstatic org.apache.lucene.spatial.query.SpatialOperation.IsEqualTo:Lorg/apache/lucene/spatial/query/SpatialOperation;
         7: .line 100
            new org.apache.lucene.spatial.query.SpatialOperation$6
            dup
            ldc "Disjoint"
            invokespecial org.apache.lucene.spatial.query.SpatialOperation$6.<init>:(Ljava/lang/String;)V
            putstatic org.apache.lucene.spatial.query.SpatialOperation.IsDisjointTo:Lorg/apache/lucene/spatial/query/SpatialOperation;
         8: .line 110
            new org.apache.lucene.spatial.query.SpatialOperation$7
            dup
            ldc "Within"
            invokespecial org.apache.lucene.spatial.query.SpatialOperation$7.<init>:(Ljava/lang/String;)V
            putstatic org.apache.lucene.spatial.query.SpatialOperation.IsWithin:Lorg/apache/lucene/spatial/query/SpatialOperation;
         9: .line 121
            new org.apache.lucene.spatial.query.SpatialOperation$8
            dup
            ldc "Overlaps"
            invokespecial org.apache.lucene.spatial.query.SpatialOperation$8.<init>:(Ljava/lang/String;)V
            putstatic org.apache.lucene.spatial.query.SpatialOperation.Overlaps:Lorg/apache/lucene/spatial/query/SpatialOperation;
        10: .line 126
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.lucene.spatial.query.SpatialOperation this
        start local 1 // java.lang.String name
         0: .line 130
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 131
            aload 0 /* this */
            aload 1 /* name */
            putfield org.apache.lucene.spatial.query.SpatialOperation.name:Ljava/lang/String;
         2: .line 132
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.apache.lucene.spatial.query.SpatialOperation.register:(Ljava/lang/String;)V
         3: .line 133
            getstatic org.apache.lucene.spatial.query.SpatialOperation.list:Ljava/util/List;
            aload 0 /* this */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 134
            return
        end local 1 // java.lang.String name
        end local 0 // org.apache.lucene.spatial.query.SpatialOperation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/lucene/spatial/query/SpatialOperation;
            0    5     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  protected void register(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.lucene.spatial.query.SpatialOperation this
        start local 1 // java.lang.String name
         0: .line 137
            getstatic org.apache.lucene.spatial.query.SpatialOperation.registry:Ljava/util/Map;
            aload 1 /* name */
            aload 0 /* this */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 138
            getstatic org.apache.lucene.spatial.query.SpatialOperation.registry:Ljava/util/Map;
            aload 1 /* name */
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
            aload 0 /* this */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 139
            return
        end local 1 // java.lang.String name
        end local 0 // org.apache.lucene.spatial.query.SpatialOperation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/lucene/spatial/query/SpatialOperation;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public static org.apache.lucene.spatial.query.SpatialOperation get(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/lucene/spatial/query/SpatialOperation;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.String v
         0: .line 142
            getstatic org.apache.lucene.spatial.query.SpatialOperation.registry:Ljava/util/Map;
            aload 0 /* v */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.lucene.spatial.query.SpatialOperation
            astore 1 /* op */
        start local 1 // org.apache.lucene.spatial.query.SpatialOperation op
         1: .line 143
            aload 1 /* op */
            ifnonnull 3
         2: .line 144
            getstatic org.apache.lucene.spatial.query.SpatialOperation.registry:Ljava/util/Map;
            aload 0 /* v */
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.lucene.spatial.query.SpatialOperation
            astore 1 /* op */
         3: .line 146
      StackMap locals: org.apache.lucene.spatial.query.SpatialOperation
      StackMap stack:
            aload 1 /* op */
            ifnonnull 5
         4: .line 147
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown Operation: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* v */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 149
      StackMap locals:
      StackMap stack:
            aload 1 /* op */
            areturn
        end local 1 // org.apache.lucene.spatial.query.SpatialOperation op
        end local 0 // java.lang.String v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0     v  Ljava/lang/String;
            1    6     1    op  Lorg/apache/lucene/spatial/query/SpatialOperation;
    MethodParameters:
      Name  Flags
      v     

  public static java.util.List<org.apache.lucene.spatial.query.SpatialOperation> values();
    descriptor: ()Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 153
            getstatic org.apache.lucene.spatial.query.SpatialOperation.list:Ljava/util/List;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljava/util/List<Lorg/apache/lucene/spatial/query/SpatialOperation;>;

  public static boolean is(org.apache.lucene.spatial.query.SpatialOperation, org.apache.lucene.spatial.query.SpatialOperation[]);
    descriptor: (Lorg/apache/lucene/spatial/query/SpatialOperation;[Lorg/apache/lucene/spatial/query/SpatialOperation;)Z
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.apache.lucene.spatial.query.SpatialOperation op
        start local 1 // org.apache.lucene.spatial.query.SpatialOperation[] tst
         0: .line 157
            aload 1 /* tst */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: org.apache.lucene.spatial.query.SpatialOperation org.apache.lucene.spatial.query.SpatialOperation[] top int int org.apache.lucene.spatial.query.SpatialOperation[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* t */
        start local 2 // org.apache.lucene.spatial.query.SpatialOperation t
         2: .line 158
            aload 0 /* op */
            aload 2 /* t */
            if_acmpne 4
         3: .line 159
            iconst_1
            ireturn
        end local 2 // org.apache.lucene.spatial.query.SpatialOperation t
         4: .line 157
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 1
         6: .line 162
            iconst_0
            ireturn
        end local 1 // org.apache.lucene.spatial.query.SpatialOperation[] tst
        end local 0 // org.apache.lucene.spatial.query.SpatialOperation op
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0    op  Lorg/apache/lucene/spatial/query/SpatialOperation;
            0    7     1   tst  [Lorg/apache/lucene/spatial/query/SpatialOperation;
            2    4     2     t  Lorg/apache/lucene/spatial/query/SpatialOperation;
    MethodParameters:
      Name  Flags
      op    
      tst   

  public abstract boolean evaluate(org.locationtech.spatial4j.shape.Shape, org.locationtech.spatial4j.shape.Shape);
    descriptor: (Lorg/locationtech/spatial4j/shape/Shape;Lorg/locationtech/spatial4j/shape/Shape;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
              Name  Flags
      indexedShape  
      queryShape    

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.spatial.query.SpatialOperation this
         0: .line 172
            aload 0 /* this */
            getfield org.apache.lucene.spatial.query.SpatialOperation.name:Ljava/lang/String;
            areturn
        end local 0 // org.apache.lucene.spatial.query.SpatialOperation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/spatial/query/SpatialOperation;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.spatial.query.SpatialOperation this
         0: .line 177
            aload 0 /* this */
            getfield org.apache.lucene.spatial.query.SpatialOperation.name:Ljava/lang/String;
            areturn
        end local 0 // org.apache.lucene.spatial.query.SpatialOperation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/spatial/query/SpatialOperation;
}
SourceFile: "SpatialOperation.java"
NestMembers:
  org.apache.lucene.spatial.query.SpatialOperation$1  org.apache.lucene.spatial.query.SpatialOperation$2  org.apache.lucene.spatial.query.SpatialOperation$3  org.apache.lucene.spatial.query.SpatialOperation$4  org.apache.lucene.spatial.query.SpatialOperation$5  org.apache.lucene.spatial.query.SpatialOperation$6  org.apache.lucene.spatial.query.SpatialOperation$7  org.apache.lucene.spatial.query.SpatialOperation$8
InnerClasses:
  org.apache.lucene.spatial.query.SpatialOperation$1
  org.apache.lucene.spatial.query.SpatialOperation$2
  org.apache.lucene.spatial.query.SpatialOperation$3
  org.apache.lucene.spatial.query.SpatialOperation$4
  org.apache.lucene.spatial.query.SpatialOperation$5
  org.apache.lucene.spatial.query.SpatialOperation$6
  org.apache.lucene.spatial.query.SpatialOperation$7
  org.apache.lucene.spatial.query.SpatialOperation$8