public class org.ehcache.impl.internal.spi.copy.DefaultCopyProvider extends org.ehcache.impl.internal.classes.ClassInstanceProvider<java.lang.Class<?>, org.ehcache.impl.config.copy.DefaultCopierConfiguration<?>, org.ehcache.spi.copy.Copier<?>> implements org.ehcache.spi.copy.CopyProvider
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.ehcache.impl.internal.spi.copy.DefaultCopyProvider
super_class: org.ehcache.impl.internal.classes.ClassInstanceProvider
{
private static final org.slf4j.Logger LOG;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/ehcache/impl/internal/spi/copy/DefaultCopyProvider;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic org.ehcache.impl.internal.spi.copy.DefaultCopyProvider.LOG:Lorg/slf4j/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.ehcache.impl.config.copy.DefaultCopyProviderConfiguration);
descriptor: (Lorg/ehcache/impl/config/copy/DefaultCopyProviderConfiguration;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ldc Lorg/ehcache/impl/config/copy/DefaultCopierConfiguration;
invokespecial org.ehcache.impl.internal.classes.ClassInstanceProvider.<init>:(Lorg/ehcache/impl/internal/classes/ClassInstanceProviderConfiguration;Ljava/lang/Class;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/ehcache/impl/internal/spi/copy/DefaultCopyProvider;
0 2 1 configuration Lorg/ehcache/impl/config/copy/DefaultCopyProviderConfiguration;
MethodParameters:
Name Flags
configuration
public <T> org.ehcache.spi.copy.Copier<T> createKeyCopier(java.lang.Class<T>, org.ehcache.spi.serialization.Serializer<T>, org.ehcache.spi.service.ServiceConfiguration<?, ?>[]);
descriptor: (Ljava/lang/Class;Lorg/ehcache/spi/serialization/Serializer;[Lorg/ehcache/spi/service/ServiceConfiguration;)Lorg/ehcache/spi/copy/Copier;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getstatic org.ehcache.impl.config.copy.DefaultCopierConfiguration$Type.KEY:Lorg/ehcache/impl/config/copy/DefaultCopierConfiguration$Type;
aload 1
aload 2
aload 3
invokevirtual org.ehcache.impl.internal.spi.copy.DefaultCopyProvider.createCopier:(Lorg/ehcache/impl/config/copy/DefaultCopierConfiguration$Type;Ljava/lang/Class;Lorg/ehcache/spi/serialization/Serializer;[Lorg/ehcache/spi/service/ServiceConfiguration;)Lorg/ehcache/spi/copy/Copier;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/ehcache/impl/internal/spi/copy/DefaultCopyProvider;
0 1 1 clazz Ljava/lang/Class<TT;>;
0 1 2 serializer Lorg/ehcache/spi/serialization/Serializer<TT;>;
0 1 3 configs [Lorg/ehcache/spi/service/ServiceConfiguration;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Lorg/ehcache/spi/serialization/Serializer<TT;>;[Lorg/ehcache/spi/service/ServiceConfiguration<**>;)Lorg/ehcache/spi/copy/Copier<TT;>;
MethodParameters:
Name Flags
clazz final
serializer
configs
public <T> org.ehcache.spi.copy.Copier<T> createValueCopier(java.lang.Class<T>, org.ehcache.spi.serialization.Serializer<T>, org.ehcache.spi.service.ServiceConfiguration<?, ?>[]);
descriptor: (Ljava/lang/Class;Lorg/ehcache/spi/serialization/Serializer;[Lorg/ehcache/spi/service/ServiceConfiguration;)Lorg/ehcache/spi/copy/Copier;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getstatic org.ehcache.impl.config.copy.DefaultCopierConfiguration$Type.VALUE:Lorg/ehcache/impl/config/copy/DefaultCopierConfiguration$Type;
aload 1
aload 2
aload 3
invokevirtual org.ehcache.impl.internal.spi.copy.DefaultCopyProvider.createCopier:(Lorg/ehcache/impl/config/copy/DefaultCopierConfiguration$Type;Ljava/lang/Class;Lorg/ehcache/spi/serialization/Serializer;[Lorg/ehcache/spi/service/ServiceConfiguration;)Lorg/ehcache/spi/copy/Copier;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/ehcache/impl/internal/spi/copy/DefaultCopyProvider;
0 1 1 clazz Ljava/lang/Class<TT;>;
0 1 2 serializer Lorg/ehcache/spi/serialization/Serializer<TT;>;
0 1 3 configs [Lorg/ehcache/spi/service/ServiceConfiguration;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Lorg/ehcache/spi/serialization/Serializer<TT;>;[Lorg/ehcache/spi/service/ServiceConfiguration<**>;)Lorg/ehcache/spi/copy/Copier<TT;>;
MethodParameters:
Name Flags
clazz final
serializer
configs
public void releaseCopier(org.ehcache.spi.copy.Copier<?>);
descriptor: (Lorg/ehcache/spi/copy/Copier;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.ehcache.impl.copy.SerializingCopier
ifne 2
1: aload 0
aload 1
invokevirtual org.ehcache.impl.internal.spi.copy.DefaultCopyProvider.releaseInstance:(Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/ehcache/impl/internal/spi/copy/DefaultCopyProvider;
0 3 1 copier Lorg/ehcache/spi/copy/Copier<*>;
Exceptions:
throws java.lang.Exception
Signature: (Lorg/ehcache/spi/copy/Copier<*>;)V
MethodParameters:
Name Flags
copier
private <T> org.ehcache.spi.copy.Copier<T> createCopier(org.ehcache.impl.config.copy.DefaultCopierConfiguration$Type, java.lang.Class<T>, org.ehcache.spi.serialization.Serializer<T>, org.ehcache.spi.service.ServiceConfiguration<?, ?>[]);
descriptor: (Lorg/ehcache/impl/config/copy/DefaultCopierConfiguration$Type;Ljava/lang/Class;Lorg/ehcache/spi/serialization/Serializer;[Lorg/ehcache/spi/service/ServiceConfiguration;)Lorg/ehcache/spi/copy/Copier;
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=5, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
aload 4
invokestatic org.ehcache.impl.internal.spi.copy.DefaultCopyProvider.find:(Lorg/ehcache/impl/config/copy/DefaultCopierConfiguration$Type;[Lorg/ehcache/spi/service/ServiceConfiguration;)Lorg/ehcache/impl/config/copy/DefaultCopierConfiguration;
astore 5
start local 5 1: aload 0
getfield org.ehcache.impl.internal.spi.copy.DefaultCopyProvider.preconfigured:Ljava/util/Map;
aload 2
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.ehcache.impl.config.copy.DefaultCopierConfiguration
astore 7
start local 7 2: aload 5
ifnull 9
aload 5
invokevirtual org.ehcache.impl.config.copy.DefaultCopierConfiguration.getClazz:()Ljava/lang/Class;
ldc Lorg/ehcache/impl/copy/SerializingCopier;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 9
3: aload 3
ifnonnull 7
4: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "No Serializer configured for type '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: ldc "' which doesn't implement java.io.Serializable"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: org.ehcache.impl.internal.spi.copy.DefaultCopyProvider org.ehcache.impl.config.copy.DefaultCopierConfiguration$Type java.lang.Class org.ehcache.spi.serialization.Serializer org.ehcache.spi.service.ServiceConfiguration[] org.ehcache.impl.config.copy.DefaultCopierConfiguration top org.ehcache.impl.config.copy.DefaultCopierConfiguration
StackMap stack:
new org.ehcache.impl.copy.SerializingCopier
dup
aload 3
invokespecial org.ehcache.impl.copy.SerializingCopier.<init>:(Lorg/ehcache/spi/serialization/Serializer;)V
astore 6
start local 6 8: goto 17
end local 6 StackMap locals:
StackMap stack:
9: aload 5
ifnonnull 16
aload 7
ifnull 16
aload 7
invokevirtual org.ehcache.impl.config.copy.DefaultCopierConfiguration.getClazz:()Ljava/lang/Class;
ldc Lorg/ehcache/impl/copy/SerializingCopier;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 16
10: aload 3
ifnonnull 14
11: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "No Serializer configured for type '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: ldc "' which doesn't implement java.io.Serializable"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
new org.ehcache.impl.copy.SerializingCopier
dup
aload 3
invokespecial org.ehcache.impl.copy.SerializingCopier.<init>:(Lorg/ehcache/spi/serialization/Serializer;)V
astore 6
start local 6 15: goto 17
end local 6 16: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 5
aload 1
invokevirtual org.ehcache.impl.internal.spi.copy.DefaultCopyProvider.createCopier:(Ljava/lang/Class;Lorg/ehcache/impl/config/copy/DefaultCopierConfiguration;Lorg/ehcache/impl/config/copy/DefaultCopierConfiguration$Type;)Lorg/ehcache/spi/copy/Copier;
astore 6
start local 6 17: StackMap locals: org.ehcache.impl.internal.spi.copy.DefaultCopyProvider org.ehcache.impl.config.copy.DefaultCopierConfiguration$Type java.lang.Class org.ehcache.spi.serialization.Serializer org.ehcache.spi.service.ServiceConfiguration[] org.ehcache.impl.config.copy.DefaultCopierConfiguration org.ehcache.spi.copy.Copier org.ehcache.impl.config.copy.DefaultCopierConfiguration
StackMap stack:
getstatic org.ehcache.impl.internal.spi.copy.DefaultCopyProvider.LOG:Lorg/slf4j/Logger;
ldc "Copier for <{}> : {}"
aload 2
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aload 6
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
18: aload 6
areturn
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 19 0 this Lorg/ehcache/impl/internal/spi/copy/DefaultCopyProvider;
0 19 1 type Lorg/ehcache/impl/config/copy/DefaultCopierConfiguration$Type;
0 19 2 clazz Ljava/lang/Class<TT;>;
0 19 3 serializer Lorg/ehcache/spi/serialization/Serializer<TT;>;
0 19 4 configs [Lorg/ehcache/spi/service/ServiceConfiguration;
1 19 5 conf Lorg/ehcache/impl/config/copy/DefaultCopierConfiguration<TT;>;
8 9 6 copier Lorg/ehcache/spi/copy/Copier<TT;>;
15 16 6 copier Lorg/ehcache/spi/copy/Copier<TT;>;
17 19 6 copier Lorg/ehcache/spi/copy/Copier<TT;>;
2 19 7 preConfigured Lorg/ehcache/impl/config/copy/DefaultCopierConfiguration<*>;
Signature: <T:Ljava/lang/Object;>(Lorg/ehcache/impl/config/copy/DefaultCopierConfiguration$Type;Ljava/lang/Class<TT;>;Lorg/ehcache/spi/serialization/Serializer<TT;>;[Lorg/ehcache/spi/service/ServiceConfiguration<**>;)Lorg/ehcache/spi/copy/Copier<TT;>;
MethodParameters:
Name Flags
type
clazz
serializer
configs
private <T> org.ehcache.spi.copy.Copier<T> createCopier(java.lang.Class<T>, org.ehcache.impl.config.copy.DefaultCopierConfiguration<T>, org.ehcache.impl.config.copy.DefaultCopierConfiguration$Type);
descriptor: (Ljava/lang/Class;Lorg/ehcache/impl/config/copy/DefaultCopierConfiguration;Lorg/ehcache/impl/config/copy/DefaultCopierConfiguration$Type;)Lorg/ehcache/spi/copy/Copier;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokevirtual org.ehcache.impl.internal.spi.copy.DefaultCopyProvider.newInstance:(Ljava/lang/Object;Lorg/ehcache/spi/service/ServiceConfiguration;)Ljava/lang/Object;
checkcast org.ehcache.spi.copy.Copier
astore 4
start local 4 1: aload 4
ifnonnull 4
2: aload 0
aload 1
new org.ehcache.impl.config.copy.DefaultCopierConfiguration
dup
ldc Lorg/ehcache/impl/copy/IdentityCopier;
aload 3
invokespecial org.ehcache.impl.config.copy.DefaultCopierConfiguration.<init>:(Ljava/lang/Class;Lorg/ehcache/impl/config/copy/DefaultCopierConfiguration$Type;)V
invokevirtual org.ehcache.impl.internal.spi.copy.DefaultCopyProvider.newInstance:(Ljava/lang/Object;Lorg/ehcache/spi/service/ServiceConfiguration;)Ljava/lang/Object;
checkcast org.ehcache.spi.copy.Copier
astore 5
start local 5 3: aload 5
astore 4
end local 5 4: StackMap locals: org.ehcache.spi.copy.Copier
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/ehcache/impl/internal/spi/copy/DefaultCopyProvider;
0 5 1 clazz Ljava/lang/Class<TT;>;
0 5 2 config Lorg/ehcache/impl/config/copy/DefaultCopierConfiguration<TT;>;
0 5 3 type Lorg/ehcache/impl/config/copy/DefaultCopierConfiguration$Type;
1 5 4 copier Lorg/ehcache/spi/copy/Copier<TT;>;
3 4 5 defaultInstance Lorg/ehcache/spi/copy/Copier<TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Lorg/ehcache/impl/config/copy/DefaultCopierConfiguration<TT;>;Lorg/ehcache/impl/config/copy/DefaultCopierConfiguration$Type;)Lorg/ehcache/spi/copy/Copier<TT;>;
MethodParameters:
Name Flags
clazz
config
type
private static <T> org.ehcache.impl.config.copy.DefaultCopierConfiguration<T> find(org.ehcache.impl.config.copy.DefaultCopierConfiguration$Type, org.ehcache.spi.service.ServiceConfiguration<?, ?>[]);
descriptor: (Lorg/ehcache/impl/config/copy/DefaultCopierConfiguration$Type;[Lorg/ehcache/spi/service/ServiceConfiguration;)Lorg/ehcache/impl/config/copy/DefaultCopierConfiguration;
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: ldc Lorg/ehcache/impl/config/copy/DefaultCopierConfiguration;
aload 1
invokestatic org.ehcache.core.spi.service.ServiceUtils.findAmongst:(Ljava/lang/Class;[Ljava/lang/Object;)Ljava/util/Collection;
2: astore 3
start local 3 3: aload 3
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
goto 9
StackMap locals: org.ehcache.impl.config.copy.DefaultCopierConfiguration$Type org.ehcache.spi.service.ServiceConfiguration[] org.ehcache.impl.config.copy.DefaultCopierConfiguration java.util.Collection top java.util.Iterator
StackMap stack:
4: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.ehcache.impl.config.copy.DefaultCopierConfiguration
astore 4
start local 4 5: aload 4
invokevirtual org.ehcache.impl.config.copy.DefaultCopierConfiguration.getType:()Lorg/ehcache/impl/config/copy/DefaultCopierConfiguration$Type;
aload 0
if_acmpne 9
6: aload 2
ifnull 8
7: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Duplicate "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " copier : "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: org.ehcache.impl.config.copy.DefaultCopierConfiguration$Type org.ehcache.spi.service.ServiceConfiguration[] org.ehcache.impl.config.copy.DefaultCopierConfiguration java.util.Collection org.ehcache.impl.config.copy.DefaultCopierConfiguration java.util.Iterator
StackMap stack:
aload 4
astore 2
end local 4 9: StackMap locals: org.ehcache.impl.config.copy.DefaultCopierConfiguration$Type org.ehcache.spi.service.ServiceConfiguration[] org.ehcache.impl.config.copy.DefaultCopierConfiguration java.util.Collection top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
10: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 type Lorg/ehcache/impl/config/copy/DefaultCopierConfiguration$Type;
0 11 1 serviceConfigurations [Lorg/ehcache/spi/service/ServiceConfiguration;
1 11 2 result Lorg/ehcache/impl/config/copy/DefaultCopierConfiguration<TT;>;
3 11 3 copierConfigurations Ljava/util/Collection<Lorg/ehcache/impl/config/copy/DefaultCopierConfiguration<*>;>;
5 9 4 copierConfiguration Lorg/ehcache/impl/config/copy/DefaultCopierConfiguration<*>;
Signature: <T:Ljava/lang/Object;>(Lorg/ehcache/impl/config/copy/DefaultCopierConfiguration$Type;[Lorg/ehcache/spi/service/ServiceConfiguration<**>;)Lorg/ehcache/impl/config/copy/DefaultCopierConfiguration<TT;>;
MethodParameters:
Name Flags
type
serviceConfigurations
}
Signature: Lorg/ehcache/impl/internal/classes/ClassInstanceProvider<Ljava/lang/Class<*>;Lorg/ehcache/impl/config/copy/DefaultCopierConfiguration<*>;Lorg/ehcache/spi/copy/Copier<*>;>;Lorg/ehcache/spi/copy/CopyProvider;
SourceFile: "DefaultCopyProvider.java"
InnerClasses:
public final Type = org.ehcache.impl.config.copy.DefaultCopierConfiguration$Type of org.ehcache.impl.config.copy.DefaultCopierConfiguration