class javax.validation.Validation$ProviderSpecificBootstrapImpl<T extends javax.validation.Configuration<T>, U extends javax.validation.spi.ValidationProvider<T>> implements javax.validation.bootstrap.ProviderSpecificBootstrap<T>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: javax.validation.Validation$ProviderSpecificBootstrapImpl
super_class: java.lang.Object
{
private final java.lang.Class<U> validationProviderClass;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Class<TU;>;
private javax.validation.ValidationProviderResolver resolver;
descriptor: Ljavax/validation/ValidationProviderResolver;
flags: (0x0002) ACC_PRIVATE
public void <init>(java.lang.Class<U>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield javax.validation.Validation$ProviderSpecificBootstrapImpl.validationProviderClass:Ljava/lang/Class;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavax/validation/Validation$ProviderSpecificBootstrapImpl<TT;TU;>;
0 3 1 validationProviderClass Ljava/lang/Class<TU;>;
Signature: (Ljava/lang/Class<TU;>;)V
MethodParameters:
Name Flags
validationProviderClass
public javax.validation.bootstrap.ProviderSpecificBootstrap<T> providerResolver(javax.validation.ValidationProviderResolver);
descriptor: (Ljavax/validation/ValidationProviderResolver;)Ljavax/validation/bootstrap/ProviderSpecificBootstrap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield javax.validation.Validation$ProviderSpecificBootstrapImpl.resolver:Ljavax/validation/ValidationProviderResolver;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavax/validation/Validation$ProviderSpecificBootstrapImpl<TT;TU;>;
0 2 1 resolver Ljavax/validation/ValidationProviderResolver;
Signature: (Ljavax/validation/ValidationProviderResolver;)Ljavax/validation/bootstrap/ProviderSpecificBootstrap<TT;>;
MethodParameters:
Name Flags
resolver
public T configure();
descriptor: ()Ljavax/validation/Configuration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=1
start local 0 0: aload 0
getfield javax.validation.Validation$ProviderSpecificBootstrapImpl.validationProviderClass:Ljava/lang/Class;
ifnonnull 4
1: new javax.validation.ValidationException
dup
2: ldc "builder is mandatory. Use Validation.byDefaultProvider() to use the generic provider discovery mechanism"
3: invokespecial javax.validation.ValidationException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
new javax.validation.Validation$GenericBootstrapImpl
dup
invokespecial javax.validation.Validation$GenericBootstrapImpl.<init>:()V
astore 1
start local 1 5: aload 0
getfield javax.validation.Validation$ProviderSpecificBootstrapImpl.resolver:Ljavax/validation/ValidationProviderResolver;
ifnonnull 8
6: aload 0
aload 0
getfield javax.validation.Validation$ProviderSpecificBootstrapImpl.validationProviderClass:Ljava/lang/Class;
invokestatic javax.validation.Validation$NewProviderInstance.action:(Ljava/lang/Class;)Ljavax/validation/Validation$NewProviderInstance;
invokevirtual javax.validation.Validation$ProviderSpecificBootstrapImpl.run:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast javax.validation.spi.ValidationProvider
astore 2
start local 2 7: aload 2
aload 1
invokeinterface javax.validation.spi.ValidationProvider.createSpecializedConfiguration:(Ljavax/validation/spi/BootstrapState;)Ljavax/validation/Configuration;
areturn
end local 2 8: StackMap locals: javax.validation.Validation$GenericBootstrapImpl
StackMap stack:
aload 1
aload 0
getfield javax.validation.Validation$ProviderSpecificBootstrapImpl.resolver:Ljavax/validation/ValidationProviderResolver;
invokevirtual javax.validation.Validation$GenericBootstrapImpl.providerResolver:(Ljavax/validation/ValidationProviderResolver;)Ljavax/validation/bootstrap/GenericBootstrap;
pop
9: aload 0
getfield javax.validation.Validation$ProviderSpecificBootstrapImpl.resolver:Ljavax/validation/ValidationProviderResolver;
invokeinterface javax.validation.ValidationProviderResolver.getValidationProviders:()Ljava/util/List;
astore 2
start local 2 10: goto 13
end local 2 11: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 3
start local 3 12: new javax.validation.ValidationException
dup
ldc "Unable to get available provider resolvers."
aload 3
invokespecial javax.validation.ValidationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 start local 2 13: StackMap locals: java.util.List
StackMap stack:
aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 18
StackMap locals: javax.validation.Validation$ProviderSpecificBootstrapImpl javax.validation.Validation$GenericBootstrapImpl java.util.List top java.util.Iterator
StackMap stack:
14: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.validation.spi.ValidationProvider
astore 3
start local 3 15: aload 0
getfield javax.validation.Validation$ProviderSpecificBootstrapImpl.validationProviderClass:Ljava/lang/Class;
aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 18
16: aload 0
getfield javax.validation.Validation$ProviderSpecificBootstrapImpl.validationProviderClass:Ljava/lang/Class;
aload 3
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast javax.validation.spi.ValidationProvider
astore 5
start local 5 17: aload 5
aload 1
invokeinterface javax.validation.spi.ValidationProvider.createSpecializedConfiguration:(Ljavax/validation/spi/BootstrapState;)Ljavax/validation/Configuration;
areturn
end local 5 end local 3 18: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
19: new javax.validation.ValidationException
dup
new java.lang.StringBuilder
dup
ldc "Unable to find provider: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield javax.validation.Validation$ProviderSpecificBootstrapImpl.validationProviderClass:Ljava/lang/Class;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.validation.ValidationException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljavax/validation/Validation$ProviderSpecificBootstrapImpl<TT;TU;>;
5 20 1 state Ljavax/validation/Validation$GenericBootstrapImpl;
7 8 2 provider TU;
10 11 2 resolvers Ljava/util/List<Ljavax/validation/spi/ValidationProvider<*>;>;
13 20 2 resolvers Ljava/util/List<Ljavax/validation/spi/ValidationProvider<*>;>;
12 13 3 re Ljava/lang/RuntimeException;
15 18 3 provider Ljavax/validation/spi/ValidationProvider<*>;
17 18 5 specificProvider Ljavax/validation/spi/ValidationProvider<TT;>;
Exception table:
from to target type
9 10 11 Class java.lang.RuntimeException
Signature: ()TT;
private <P> P run(java.security.PrivilegedAction<P>);
descriptor: (Ljava/security/PrivilegedAction;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnull 1
aload 1
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
goto 2
StackMap locals:
StackMap stack:
1: aload 1
invokeinterface java.security.PrivilegedAction.run:()Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavax/validation/Validation$ProviderSpecificBootstrapImpl<TT;TU;>;
0 3 1 action Ljava/security/PrivilegedAction<TP;>;
Signature: <P:Ljava/lang/Object;>(Ljava/security/PrivilegedAction<TP;>;)TP;
MethodParameters:
Name Flags
action
}
Signature: <T::Ljavax/validation/Configuration<TT;>;U::Ljavax/validation/spi/ValidationProvider<TT;>;>Ljava/lang/Object;Ljavax/validation/bootstrap/ProviderSpecificBootstrap<TT;>;
SourceFile: "Validation.java"
NestHost: javax.validation.Validation
InnerClasses:
private GenericBootstrapImpl = javax.validation.Validation$GenericBootstrapImpl of javax.validation.Validation
private NewProviderInstance = javax.validation.Validation$NewProviderInstance of javax.validation.Validation
private ProviderSpecificBootstrapImpl = javax.validation.Validation$ProviderSpecificBootstrapImpl of javax.validation.Validation