public class org.hibernate.secure.spi.JaccIntegrator implements org.hibernate.integrator.spi.ServiceContributingIntegrator
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hibernate.secure.spi.JaccIntegrator
super_class: java.lang.Object
{
private static final org.jboss.logging.Logger log;
descriptor: Lorg/jboss/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.hibernate.event.service.spi.DuplicationStrategy DUPLICATION_STRATEGY;
descriptor: Lorg/hibernate/event/service/spi/DuplicationStrategy;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lorg/hibernate/secure/spi/JaccIntegrator;
invokestatic org.jboss.logging.Logger.getLogger:(Ljava/lang/Class;)Lorg/jboss/logging/Logger;
putstatic org.hibernate.secure.spi.JaccIntegrator.log:Lorg/jboss/logging/Logger;
1: new org.hibernate.secure.spi.JaccIntegrator$1
dup
invokespecial org.hibernate.secure.spi.JaccIntegrator$1.<init>:()V
putstatic org.hibernate.secure.spi.JaccIntegrator.DUPLICATION_STRATEGY:Lorg/hibernate/event/service/spi/DuplicationStrategy;
2: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/secure/spi/JaccIntegrator;
public void prepareServices(org.hibernate.boot.registry.StandardServiceRegistryBuilder);
descriptor: (Lorg/hibernate/boot/registry/StandardServiceRegistryBuilder;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.hibernate.boot.registry.StandardServiceRegistryBuilder.getSettings:()Ljava/util/Map;
ldc "hibernate.jacc.enabled"
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
istore 2
start local 2 1: iload 2
ifeq 2
new org.hibernate.secure.internal.StandardJaccServiceImpl
dup
invokespecial org.hibernate.secure.internal.StandardJaccServiceImpl.<init>:()V
goto 3
StackMap locals: int
StackMap stack:
2: new org.hibernate.secure.internal.DisabledJaccServiceImpl
dup
invokespecial org.hibernate.secure.internal.DisabledJaccServiceImpl.<init>:()V
StackMap locals:
StackMap stack: org.hibernate.secure.spi.JaccService
3: astore 3
start local 3 4: aload 1
ldc Lorg/hibernate/secure/spi/JaccService;
aload 3
invokevirtual org.hibernate.boot.registry.StandardServiceRegistryBuilder.addService:(Ljava/lang/Class;Lorg/hibernate/service/Service;)Lorg/hibernate/boot/registry/StandardServiceRegistryBuilder;
pop
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/hibernate/secure/spi/JaccIntegrator;
0 6 1 serviceRegistryBuilder Lorg/hibernate/boot/registry/StandardServiceRegistryBuilder;
1 6 2 isSecurityEnabled Z
4 6 3 jaccService Lorg/hibernate/secure/spi/JaccService;
MethodParameters:
Name Flags
serviceRegistryBuilder
public void integrate(org.hibernate.boot.Metadata, org.hibernate.engine.spi.SessionFactoryImplementor, org.hibernate.service.spi.SessionFactoryServiceRegistry);
descriptor: (Lorg/hibernate/boot/Metadata;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
1: aload 3
ldc Lorg/hibernate/engine/config/spi/ConfigurationService;
invokeinterface org.hibernate.service.spi.SessionFactoryServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
checkcast org.hibernate.engine.config.spi.ConfigurationService
invokeinterface org.hibernate.engine.config.spi.ConfigurationService.getSettings:()Ljava/util/Map;
2: aconst_null
3: aload 3
4: invokevirtual org.hibernate.secure.spi.JaccIntegrator.doIntegration:(Ljava/util/Map;Lorg/hibernate/secure/spi/JaccPermissionDeclarations;Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;)V
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/hibernate/secure/spi/JaccIntegrator;
0 6 1 metadata Lorg/hibernate/boot/Metadata;
0 6 2 sessionFactory Lorg/hibernate/engine/spi/SessionFactoryImplementor;
0 6 3 serviceRegistry Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
MethodParameters:
Name Flags
metadata
sessionFactory
serviceRegistry
private void doIntegration(java.util.Map, org.hibernate.secure.spi.JaccPermissionDeclarations, org.hibernate.service.spi.SessionFactoryServiceRegistry);
descriptor: (Ljava/util/Map;Lorg/hibernate/secure/spi/JaccPermissionDeclarations;Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ldc "hibernate.jacc.enabled"
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
istore 4
start local 4 1: iload 4
ifne 4
2: getstatic org.hibernate.secure.spi.JaccIntegrator.log:Lorg/jboss/logging/Logger;
ldc "Skipping JACC integration as it was not enabled"
invokevirtual org.jboss.logging.Logger.debug:(Ljava/lang/Object;)V
3: return
4: StackMap locals: int
StackMap stack:
aload 1
ldc "hibernate.jacc_context_id"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 5: aload 5
ifnonnull 7
6: new org.hibernate.secure.spi.IntegrationException
dup
ldc "JACC context id must be specified"
invokespecial org.hibernate.secure.spi.IntegrationException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: java.lang.String
StackMap stack:
aload 3
ldc Lorg/hibernate/secure/spi/JaccService;
invokeinterface org.hibernate.service.spi.SessionFactoryServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
checkcast org.hibernate.secure.spi.JaccService
astore 6
start local 6 8: aload 6
ifnonnull 10
9: new org.hibernate.secure.spi.IntegrationException
dup
ldc "JaccService was not set up"
invokespecial org.hibernate.secure.spi.IntegrationException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals: org.hibernate.secure.spi.JaccService
StackMap stack:
aload 2
ifnull 15
11: aload 2
invokevirtual org.hibernate.secure.spi.JaccPermissionDeclarations.getPermissionDeclarations:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 8
goto 14
StackMap locals: org.hibernate.secure.spi.JaccIntegrator java.util.Map org.hibernate.secure.spi.JaccPermissionDeclarations org.hibernate.service.spi.SessionFactoryServiceRegistry int java.lang.String org.hibernate.secure.spi.JaccService top java.util.Iterator
StackMap stack:
12: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.hibernate.secure.spi.GrantedPermission
astore 7
start local 7 13: aload 6
aload 7
invokeinterface org.hibernate.secure.spi.JaccService.addPermission:(Lorg/hibernate/secure/spi/GrantedPermission;)V
end local 7 14: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
15: StackMap locals: org.hibernate.secure.spi.JaccIntegrator java.util.Map org.hibernate.secure.spi.JaccPermissionDeclarations org.hibernate.service.spi.SessionFactoryServiceRegistry int java.lang.String org.hibernate.secure.spi.JaccService
StackMap stack:
aload 3
ldc Lorg/hibernate/event/service/spi/EventListenerRegistry;
invokeinterface org.hibernate.service.spi.SessionFactoryServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
checkcast org.hibernate.event.service.spi.EventListenerRegistry
astore 7
start local 7 16: aload 7
getstatic org.hibernate.secure.spi.JaccIntegrator.DUPLICATION_STRATEGY:Lorg/hibernate/event/service/spi/DuplicationStrategy;
invokeinterface org.hibernate.event.service.spi.EventListenerRegistry.addDuplicationStrategy:(Lorg/hibernate/event/service/spi/DuplicationStrategy;)V
17: aload 7
getstatic org.hibernate.event.spi.EventType.PRE_DELETE:Lorg/hibernate/event/spi/EventType;
iconst_1
anewarray org.hibernate.event.spi.PreDeleteEventListener
dup
iconst_0
new org.hibernate.secure.internal.JaccPreDeleteEventListener
dup
invokespecial org.hibernate.secure.internal.JaccPreDeleteEventListener.<init>:()V
aastore
invokeinterface org.hibernate.event.service.spi.EventListenerRegistry.prependListeners:(Lorg/hibernate/event/spi/EventType;[Ljava/lang/Object;)V
18: aload 7
getstatic org.hibernate.event.spi.EventType.PRE_INSERT:Lorg/hibernate/event/spi/EventType;
iconst_1
anewarray org.hibernate.event.spi.PreInsertEventListener
dup
iconst_0
new org.hibernate.secure.internal.JaccPreInsertEventListener
dup
invokespecial org.hibernate.secure.internal.JaccPreInsertEventListener.<init>:()V
aastore
invokeinterface org.hibernate.event.service.spi.EventListenerRegistry.prependListeners:(Lorg/hibernate/event/spi/EventType;[Ljava/lang/Object;)V
19: aload 7
getstatic org.hibernate.event.spi.EventType.PRE_UPDATE:Lorg/hibernate/event/spi/EventType;
iconst_1
anewarray org.hibernate.event.spi.PreUpdateEventListener
dup
iconst_0
new org.hibernate.secure.internal.JaccPreUpdateEventListener
dup
invokespecial org.hibernate.secure.internal.JaccPreUpdateEventListener.<init>:()V
aastore
invokeinterface org.hibernate.event.service.spi.EventListenerRegistry.prependListeners:(Lorg/hibernate/event/spi/EventType;[Ljava/lang/Object;)V
20: aload 7
getstatic org.hibernate.event.spi.EventType.PRE_LOAD:Lorg/hibernate/event/spi/EventType;
iconst_1
anewarray org.hibernate.event.spi.PreLoadEventListener
dup
iconst_0
new org.hibernate.secure.internal.JaccPreLoadEventListener
dup
invokespecial org.hibernate.secure.internal.JaccPreLoadEventListener.<init>:()V
aastore
invokeinterface org.hibernate.event.service.spi.EventListenerRegistry.prependListeners:(Lorg/hibernate/event/spi/EventType;[Ljava/lang/Object;)V
21: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/hibernate/secure/spi/JaccIntegrator;
0 22 1 properties Ljava/util/Map;
0 22 2 permissionDeclarations Lorg/hibernate/secure/spi/JaccPermissionDeclarations;
0 22 3 serviceRegistry Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
1 22 4 isSecurityEnabled Z
5 22 5 contextId Ljava/lang/String;
8 22 6 jaccService Lorg/hibernate/secure/spi/JaccService;
13 14 7 declaration Lorg/hibernate/secure/spi/GrantedPermission;
16 22 7 eventListenerRegistry Lorg/hibernate/event/service/spi/EventListenerRegistry;
MethodParameters:
Name Flags
properties
permissionDeclarations
serviceRegistry
public void disintegrate(org.hibernate.engine.spi.SessionFactoryImplementor, org.hibernate.service.spi.SessionFactoryServiceRegistry);
descriptor: (Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=3, args_size=3
start local 0 start local 1 start local 2 0: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/secure/spi/JaccIntegrator;
0 1 1 sessionFactory Lorg/hibernate/engine/spi/SessionFactoryImplementor;
0 1 2 serviceRegistry Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
MethodParameters:
Name Flags
sessionFactory
serviceRegistry
}
SourceFile: "JaccIntegrator.java"
NestMembers:
org.hibernate.secure.spi.JaccIntegrator$1
InnerClasses:
org.hibernate.secure.spi.JaccIntegrator$1