final class com.mongodb.DBObjectCollationHelper
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.mongodb.DBObjectCollationHelper
super_class: java.lang.Object
{
static com.mongodb.client.model.Collation createCollationFromOptions(com.mongodb.DBObject);
descriptor: (Lcom/mongodb/DBObject;)Lcom/mongodb/client/model/Collation;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 // com.mongodb.DBObject options
0: .line 30
aload 0 /* options */
ldc "collation"
invokeinterface com.mongodb.DBObject.get:(Ljava/lang/String;)Ljava/lang/Object;
ifnonnull 2
1: .line 31
aconst_null
areturn
2: .line 32
StackMap locals:
StackMap stack:
aload 0 /* options */
ldc "collation"
invokeinterface com.mongodb.DBObject.get:(Ljava/lang/String;)Ljava/lang/Object;
instanceof com.mongodb.DBObject
ifne 4
3: .line 33
new java.lang.IllegalArgumentException
dup
ldc "collation options should be a document"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: .line 35
StackMap locals:
StackMap stack:
invokestatic com.mongodb.client.model.Collation.builder:()Lcom/mongodb/client/model/Collation$Builder;
astore 1 /* builder */
start local 1 // com.mongodb.client.model.Collation$Builder builder
5: .line 36
aload 0 /* options */
ldc "collation"
invokeinterface com.mongodb.DBObject.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast com.mongodb.DBObject
astore 2 /* collation */
start local 2 // com.mongodb.DBObject collation
6: .line 38
aload 2 /* collation */
ldc "locale"
invokeinterface com.mongodb.DBObject.get:(Ljava/lang/String;)Ljava/lang/Object;
ifnonnull 8
7: .line 39
new java.lang.IllegalArgumentException
dup
ldc "'locale' is required when providing collation options"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
8: .line 41
StackMap locals: com.mongodb.client.model.Collation$Builder com.mongodb.DBObject
StackMap stack:
aload 2 /* collation */
ldc "locale"
invokeinterface com.mongodb.DBObject.get:(Ljava/lang/String;)Ljava/lang/Object;
astore 3 /* locale */
start local 3 // java.lang.Object locale
9: .line 42
aload 3 /* locale */
instanceof java.lang.String
ifne 11
10: .line 43
new java.lang.IllegalArgumentException
dup
ldc "collation 'locale' should be a String"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
11: .line 45
StackMap locals: java.lang.Object
StackMap stack:
aload 1 /* builder */
aload 3 /* locale */
checkcast java.lang.String
invokevirtual com.mongodb.client.model.Collation$Builder.locale:(Ljava/lang/String;)Lcom/mongodb/client/model/Collation$Builder;
pop
end local 3 // java.lang.Object locale
12: .line 48
aload 2 /* collation */
ldc "caseLevel"
invokeinterface com.mongodb.DBObject.get:(Ljava/lang/String;)Ljava/lang/Object;
ifnull 17
13: .line 49
aload 2 /* collation */
ldc "caseLevel"
invokeinterface com.mongodb.DBObject.get:(Ljava/lang/String;)Ljava/lang/Object;
astore 3 /* caseLevel */
start local 3 // java.lang.Object caseLevel
14: .line 50
aload 3 /* caseLevel */
instanceof java.lang.Boolean
ifne 16
15: .line 51
new java.lang.IllegalArgumentException
dup
ldc "collation 'caseLevel' should be a Boolean"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
16: .line 53
StackMap locals:
StackMap stack:
aload 1 /* builder */
aload 3 /* caseLevel */
checkcast java.lang.Boolean
invokevirtual com.mongodb.client.model.Collation$Builder.caseLevel:(Ljava/lang/Boolean;)Lcom/mongodb/client/model/Collation$Builder;
pop
end local 3 // java.lang.Object caseLevel
17: .line 56
StackMap locals:
StackMap stack:
aload 2 /* collation */
ldc "caseFirst"
invokeinterface com.mongodb.DBObject.get:(Ljava/lang/String;)Ljava/lang/Object;
ifnull 22
18: .line 57
aload 2 /* collation */
ldc "caseFirst"
invokeinterface com.mongodb.DBObject.get:(Ljava/lang/String;)Ljava/lang/Object;
astore 3 /* caseFirst */
start local 3 // java.lang.Object caseFirst
19: .line 58
aload 3 /* caseFirst */
instanceof java.lang.String
ifne 21
20: .line 59
new java.lang.IllegalArgumentException
dup
ldc "collation 'caseFirst' should be a String"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
21: .line 61
StackMap locals: java.lang.Object
StackMap stack:
aload 1 /* builder */
aload 3 /* caseFirst */
checkcast java.lang.String
invokestatic com.mongodb.client.model.CollationCaseFirst.fromString:(Ljava/lang/String;)Lcom/mongodb/client/model/CollationCaseFirst;
invokevirtual com.mongodb.client.model.Collation$Builder.collationCaseFirst:(Lcom/mongodb/client/model/CollationCaseFirst;)Lcom/mongodb/client/model/Collation$Builder;
pop
end local 3 // java.lang.Object caseFirst
22: .line 64
StackMap locals:
StackMap stack:
aload 2 /* collation */
ldc "strength"
invokeinterface com.mongodb.DBObject.get:(Ljava/lang/String;)Ljava/lang/Object;
ifnull 27
23: .line 65
aload 2 /* collation */
ldc "strength"
invokeinterface com.mongodb.DBObject.get:(Ljava/lang/String;)Ljava/lang/Object;
astore 3 /* strength */
start local 3 // java.lang.Object strength
24: .line 66
aload 3 /* strength */
instanceof java.lang.Integer
ifne 26
25: .line 67
new java.lang.IllegalArgumentException
dup
ldc "collation 'strength' should be an Integer"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
26: .line 69
StackMap locals: java.lang.Object
StackMap stack:
aload 1 /* builder */
aload 3 /* strength */
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokestatic com.mongodb.client.model.CollationStrength.fromInt:(I)Lcom/mongodb/client/model/CollationStrength;
invokevirtual com.mongodb.client.model.Collation$Builder.collationStrength:(Lcom/mongodb/client/model/CollationStrength;)Lcom/mongodb/client/model/Collation$Builder;
pop
end local 3 // java.lang.Object strength
27: .line 72
StackMap locals:
StackMap stack:
aload 2 /* collation */
ldc "numericOrdering"
invokeinterface com.mongodb.DBObject.get:(Ljava/lang/String;)Ljava/lang/Object;
ifnull 32
28: .line 73
aload 2 /* collation */
ldc "numericOrdering"
invokeinterface com.mongodb.DBObject.get:(Ljava/lang/String;)Ljava/lang/Object;
astore 3 /* numericOrdering */
start local 3 // java.lang.Object numericOrdering
29: .line 74
aload 3 /* numericOrdering */
instanceof java.lang.Boolean
ifne 31
30: .line 75
new java.lang.IllegalArgumentException
dup
ldc "collation 'numericOrdering' should be a Boolean"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
31: .line 77
StackMap locals: java.lang.Object
StackMap stack:
aload 1 /* builder */
aload 3 /* numericOrdering */
checkcast java.lang.Boolean
invokevirtual com.mongodb.client.model.Collation$Builder.numericOrdering:(Ljava/lang/Boolean;)Lcom/mongodb/client/model/Collation$Builder;
pop
end local 3 // java.lang.Object numericOrdering
32: .line 80
StackMap locals:
StackMap stack:
aload 2 /* collation */
ldc "alternate"
invokeinterface com.mongodb.DBObject.get:(Ljava/lang/String;)Ljava/lang/Object;
ifnull 37
33: .line 81
aload 2 /* collation */
ldc "alternate"
invokeinterface com.mongodb.DBObject.get:(Ljava/lang/String;)Ljava/lang/Object;
astore 3 /* alternate */
start local 3 // java.lang.Object alternate
34: .line 82
aload 3 /* alternate */
instanceof java.lang.String
ifne 36
35: .line 83
new java.lang.IllegalArgumentException
dup
ldc "collation 'alternate' should be a String"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
36: .line 85
StackMap locals: java.lang.Object
StackMap stack:
aload 1 /* builder */
aload 3 /* alternate */
checkcast java.lang.String
invokestatic com.mongodb.client.model.CollationAlternate.fromString:(Ljava/lang/String;)Lcom/mongodb/client/model/CollationAlternate;
invokevirtual com.mongodb.client.model.Collation$Builder.collationAlternate:(Lcom/mongodb/client/model/CollationAlternate;)Lcom/mongodb/client/model/Collation$Builder;
pop
end local 3 // java.lang.Object alternate
37: .line 88
StackMap locals:
StackMap stack:
aload 2 /* collation */
ldc "maxVariable"
invokeinterface com.mongodb.DBObject.get:(Ljava/lang/String;)Ljava/lang/Object;
ifnull 42
38: .line 89
aload 2 /* collation */
ldc "maxVariable"
invokeinterface com.mongodb.DBObject.get:(Ljava/lang/String;)Ljava/lang/Object;
astore 3 /* maxVariable */
start local 3 // java.lang.Object maxVariable
39: .line 90
aload 3 /* maxVariable */
instanceof java.lang.String
ifne 41
40: .line 91
new java.lang.IllegalArgumentException
dup
ldc "collation 'maxVariable' should be a String"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
41: .line 93
StackMap locals: java.lang.Object
StackMap stack:
aload 1 /* builder */
aload 3 /* maxVariable */
checkcast java.lang.String
invokestatic com.mongodb.client.model.CollationMaxVariable.fromString:(Ljava/lang/String;)Lcom/mongodb/client/model/CollationMaxVariable;
invokevirtual com.mongodb.client.model.Collation$Builder.collationMaxVariable:(Lcom/mongodb/client/model/CollationMaxVariable;)Lcom/mongodb/client/model/Collation$Builder;
pop
end local 3 // java.lang.Object maxVariable
42: .line 96
StackMap locals:
StackMap stack:
aload 2 /* collation */
ldc "normalization"
invokeinterface com.mongodb.DBObject.get:(Ljava/lang/String;)Ljava/lang/Object;
ifnull 47
43: .line 97
aload 2 /* collation */
ldc "normalization"
invokeinterface com.mongodb.DBObject.get:(Ljava/lang/String;)Ljava/lang/Object;
astore 3 /* normalization */
start local 3 // java.lang.Object normalization
44: .line 98
aload 3 /* normalization */
instanceof java.lang.Boolean
ifne 46
45: .line 99
new java.lang.IllegalArgumentException
dup
ldc "collation 'normalization' should be a Boolean"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
46: .line 101
StackMap locals: java.lang.Object
StackMap stack:
aload 1 /* builder */
aload 3 /* normalization */
checkcast java.lang.Boolean
invokevirtual com.mongodb.client.model.Collation$Builder.normalization:(Ljava/lang/Boolean;)Lcom/mongodb/client/model/Collation$Builder;
pop
end local 3 // java.lang.Object normalization
47: .line 104
StackMap locals:
StackMap stack:
aload 2 /* collation */
ldc "backwards"
invokeinterface com.mongodb.DBObject.get:(Ljava/lang/String;)Ljava/lang/Object;
ifnull 52
48: .line 105
aload 2 /* collation */
ldc "backwards"
invokeinterface com.mongodb.DBObject.get:(Ljava/lang/String;)Ljava/lang/Object;
astore 3 /* backwards */
start local 3 // java.lang.Object backwards
49: .line 106
aload 3 /* backwards */
instanceof java.lang.Boolean
ifne 51
50: .line 107
new java.lang.IllegalArgumentException
dup
ldc "collation 'backwards' should be a Boolean"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
51: .line 109
StackMap locals: java.lang.Object
StackMap stack:
aload 1 /* builder */
aload 3 /* backwards */
checkcast java.lang.Boolean
invokevirtual com.mongodb.client.model.Collation$Builder.backwards:(Ljava/lang/Boolean;)Lcom/mongodb/client/model/Collation$Builder;
pop
end local 3 // java.lang.Object backwards
52: .line 112
StackMap locals:
StackMap stack:
aload 1 /* builder */
invokevirtual com.mongodb.client.model.Collation$Builder.build:()Lcom/mongodb/client/model/Collation;
areturn
end local 2 // com.mongodb.DBObject collation
end local 1 // com.mongodb.client.model.Collation$Builder builder
end local 0 // com.mongodb.DBObject options
LocalVariableTable:
Start End Slot Name Signature
0 53 0 options Lcom/mongodb/DBObject;
5 53 1 builder Lcom/mongodb/client/model/Collation$Builder;
6 53 2 collation Lcom/mongodb/DBObject;
9 12 3 locale Ljava/lang/Object;
14 17 3 caseLevel Ljava/lang/Object;
19 22 3 caseFirst Ljava/lang/Object;
24 27 3 strength Ljava/lang/Object;
29 32 3 numericOrdering Ljava/lang/Object;
34 37 3 alternate Ljava/lang/Object;
39 42 3 maxVariable Ljava/lang/Object;
44 47 3 normalization Ljava/lang/Object;
49 52 3 backwards Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.mongodb.lang.Nullable()
MethodParameters:
Name Flags
options final
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 // com.mongodb.DBObjectCollationHelper this
0: .line 116
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 117
return
end local 0 // com.mongodb.DBObjectCollationHelper this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mongodb/DBObjectCollationHelper;
}
SourceFile: "DBObjectCollationHelper.java"
InnerClasses:
public final Builder = com.mongodb.client.model.Collation$Builder of com.mongodb.client.model.Collation