public class io.dropwizard.auth.CachingAuthenticator<C, P extends java.security.Principal> implements io.dropwizard.auth.Authenticator<C, P>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.dropwizard.auth.CachingAuthenticator
super_class: java.lang.Object
{
private final com.google.common.cache.LoadingCache<C, java.util.Optional<P>> cache;
descriptor: Lcom/google/common/cache/LoadingCache;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/google/common/cache/LoadingCache<TC;Ljava/util/Optional<TP;>;>;
private final com.codahale.metrics.Meter cacheMisses;
descriptor: Lcom/codahale/metrics/Meter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.codahale.metrics.Timer gets;
descriptor: Lcom/codahale/metrics/Timer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(com.codahale.metrics.MetricRegistry, io.dropwizard.auth.Authenticator<C, P>, com.google.common.cache.CacheBuilderSpec);
descriptor: (Lcom/codahale/metrics/MetricRegistry;Lio/dropwizard/auth/Authenticator;Lcom/google/common/cache/CacheBuilderSpec;)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
aload 1
aload 2
aload 3
invokestatic com.google.common.cache.CacheBuilder.from:(Lcom/google/common/cache/CacheBuilderSpec;)Lcom/google/common/cache/CacheBuilder;
invokespecial io.dropwizard.auth.CachingAuthenticator.<init>:(Lcom/codahale/metrics/MetricRegistry;Lio/dropwizard/auth/Authenticator;Lcom/google/common/cache/CacheBuilder;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/dropwizard/auth/CachingAuthenticator<TC;TP;>;
0 2 1 metricRegistry Lcom/codahale/metrics/MetricRegistry;
0 2 2 authenticator Lio/dropwizard/auth/Authenticator<TC;TP;>;
0 2 3 cacheSpec Lcom/google/common/cache/CacheBuilderSpec;
Signature: (Lcom/codahale/metrics/MetricRegistry;Lio/dropwizard/auth/Authenticator<TC;TP;>;Lcom/google/common/cache/CacheBuilderSpec;)V
MethodParameters:
Name Flags
metricRegistry final
authenticator final
cacheSpec final
public void <init>(com.codahale.metrics.MetricRegistry, io.dropwizard.auth.Authenticator<C, P>, com.google.common.cache.CacheBuilder<java.lang.Object, java.lang.Object>);
descriptor: (Lcom/codahale/metrics/MetricRegistry;Lio/dropwizard/auth/Authenticator;Lcom/google/common/cache/CacheBuilder;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "cache-misses"
aastore
invokestatic com.codahale.metrics.MetricRegistry.name:(Ljava/lang/Class;[Ljava/lang/String;)Ljava/lang/String;
invokevirtual com.codahale.metrics.MetricRegistry.meter:(Ljava/lang/String;)Lcom/codahale/metrics/Meter;
putfield io.dropwizard.auth.CachingAuthenticator.cacheMisses:Lcom/codahale/metrics/Meter;
2: aload 0
aload 1
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "gets"
aastore
invokestatic com.codahale.metrics.MetricRegistry.name:(Ljava/lang/Class;[Ljava/lang/String;)Ljava/lang/String;
invokevirtual com.codahale.metrics.MetricRegistry.timer:(Ljava/lang/String;)Lcom/codahale/metrics/Timer;
putfield io.dropwizard.auth.CachingAuthenticator.gets:Lcom/codahale/metrics/Timer;
3: aload 0
aload 3
invokevirtual com.google.common.cache.CacheBuilder.recordStats:()Lcom/google/common/cache/CacheBuilder;
new io.dropwizard.auth.CachingAuthenticator$1
dup
aload 0
aload 2
invokespecial io.dropwizard.auth.CachingAuthenticator$1.<init>:(Lio/dropwizard/auth/CachingAuthenticator;Lio/dropwizard/auth/Authenticator;)V
invokevirtual com.google.common.cache.CacheBuilder.build:(Lcom/google/common/cache/CacheLoader;)Lcom/google/common/cache/LoadingCache;
putfield io.dropwizard.auth.CachingAuthenticator.cache:Lcom/google/common/cache/LoadingCache;
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/dropwizard/auth/CachingAuthenticator<TC;TP;>;
0 5 1 metricRegistry Lcom/codahale/metrics/MetricRegistry;
0 5 2 authenticator Lio/dropwizard/auth/Authenticator<TC;TP;>;
0 5 3 builder Lcom/google/common/cache/CacheBuilder<Ljava/lang/Object;Ljava/lang/Object;>;
Signature: (Lcom/codahale/metrics/MetricRegistry;Lio/dropwizard/auth/Authenticator<TC;TP;>;Lcom/google/common/cache/CacheBuilder<Ljava/lang/Object;Ljava/lang/Object;>;)V
MethodParameters:
Name Flags
metricRegistry final
authenticator final
builder final
public java.util.Optional<P> authenticate(C);
descriptor: (Ljava/lang/Object;)Ljava/util/Optional;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield io.dropwizard.auth.CachingAuthenticator.gets:Lcom/codahale/metrics/Timer;
invokevirtual com.codahale.metrics.Timer.time:()Lcom/codahale/metrics/Timer$Context;
astore 2
start local 2 1: aload 0
getfield io.dropwizard.auth.CachingAuthenticator.cache:Lcom/google/common/cache/LoadingCache;
aload 1
invokeinterface com.google.common.cache.LoadingCache.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Optional
astore 6
2: aload 2
invokevirtual com.codahale.metrics.Timer$Context.stop:()J
pop2
3: aload 6
areturn
4: StackMap locals: io.dropwizard.auth.CachingAuthenticator java.lang.Object com.codahale.metrics.Timer$Context
StackMap stack: java.util.concurrent.ExecutionException
astore 3
start local 3 5: aload 3
invokevirtual java.util.concurrent.ExecutionException.getCause:()Ljava/lang/Throwable;
astore 4
start local 4 6: aload 4
instanceof io.dropwizard.auth.CachingAuthenticator$InvalidCredentialsException
ifeq 10
7: invokestatic java.util.Optional.empty:()Ljava/util/Optional;
astore 6
8: aload 2
invokevirtual com.codahale.metrics.Timer$Context.stop:()J
pop2
9: aload 6
areturn
10: StackMap locals: java.util.concurrent.ExecutionException java.lang.Throwable
StackMap stack:
aload 4
ldc Lio/dropwizard/auth/AuthenticationException;
invokestatic com.google.common.base.Throwables.propagateIfPossible:(Ljava/lang/Throwable;Ljava/lang/Class;)V
11: new io.dropwizard.auth.AuthenticationException
dup
aload 4
invokespecial io.dropwizard.auth.AuthenticationException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 end local 3 12: StackMap locals: io.dropwizard.auth.CachingAuthenticator java.lang.Object com.codahale.metrics.Timer$Context
StackMap stack: com.google.common.util.concurrent.UncheckedExecutionException
astore 3
start local 3 13: aload 3
invokevirtual com.google.common.util.concurrent.UncheckedExecutionException.getCause:()Ljava/lang/Throwable;
invokestatic com.google.common.base.Throwables.throwIfUnchecked:(Ljava/lang/Throwable;)V
14: aload 3
athrow
end local 3 15: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
16: aload 2
invokevirtual com.codahale.metrics.Timer$Context.stop:()J
pop2
17: aload 5
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lio/dropwizard/auth/CachingAuthenticator<TC;TP;>;
0 18 1 credentials TC;
1 18 2 context Lcom/codahale/metrics/Timer$Context;
5 12 3 e Ljava/util/concurrent/ExecutionException;
6 12 4 cause Ljava/lang/Throwable;
13 15 3 e Lcom/google/common/util/concurrent/UncheckedExecutionException;
Exception table:
from to target type
1 2 4 Class java.util.concurrent.ExecutionException
1 2 12 Class com.google.common.util.concurrent.UncheckedExecutionException
1 2 15 any
4 8 15 any
10 15 15 any
Exceptions:
throws io.dropwizard.auth.AuthenticationException
Signature: (TC;)Ljava/util/Optional<TP;>;
MethodParameters:
Name Flags
credentials
public void invalidate();
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.dropwizard.auth.CachingAuthenticator.cache:Lcom/google/common/cache/LoadingCache;
aload 1
invokeinterface com.google.common.cache.LoadingCache.invalidate:(Ljava/lang/Object;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/dropwizard/auth/CachingAuthenticator<TC;TP;>;
0 2 1 credentials TC;
Signature: (TC;)V
MethodParameters:
Name Flags
credentials
public void invalidateAll(java.lang.Iterable<C>);
descriptor: (Ljava/lang/Iterable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.dropwizard.auth.CachingAuthenticator.cache:Lcom/google/common/cache/LoadingCache;
aload 1
invokeinterface com.google.common.cache.LoadingCache.invalidateAll:(Ljava/lang/Iterable;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/dropwizard/auth/CachingAuthenticator<TC;TP;>;
0 2 1 credentials Ljava/lang/Iterable<TC;>;
Signature: (Ljava/lang/Iterable<TC;>;)V
MethodParameters:
Name Flags
credentials
public void invalidateAll(com.google.common.base.Predicate<? super C>);
descriptor: (Lcom/google/common/base/Predicate;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.dropwizard.auth.CachingAuthenticator.cache:Lcom/google/common/cache/LoadingCache;
aload 0
getfield io.dropwizard.auth.CachingAuthenticator.cache:Lcom/google/common/cache/LoadingCache;
invokeinterface com.google.common.cache.LoadingCache.asMap:()Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.keySet:()Ljava/util/Set;
aload 1
invokestatic com.google.common.collect.Sets.filter:(Ljava/util/Set;Lcom/google/common/base/Predicate;)Ljava/util/Set;
invokeinterface com.google.common.cache.LoadingCache.invalidateAll:(Ljava/lang/Iterable;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/dropwizard/auth/CachingAuthenticator<TC;TP;>;
0 2 1 predicate Lcom/google/common/base/Predicate<-TC;>;
Signature: (Lcom/google/common/base/Predicate<-TC;>;)V
MethodParameters:
Name Flags
predicate
public void invalidateAll();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.dropwizard.auth.CachingAuthenticator.cache:Lcom/google/common/cache/LoadingCache;
invokeinterface com.google.common.cache.LoadingCache.invalidateAll:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/dropwizard/auth/CachingAuthenticator<TC;TP;>;
public long size();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.dropwizard.auth.CachingAuthenticator.cache:Lcom/google/common/cache/LoadingCache;
invokeinterface com.google.common.cache.LoadingCache.size:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/dropwizard/auth/CachingAuthenticator<TC;TP;>;
public com.google.common.cache.CacheStats stats();
descriptor: ()Lcom/google/common/cache/CacheStats;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.dropwizard.auth.CachingAuthenticator.cache:Lcom/google/common/cache/LoadingCache;
invokeinterface com.google.common.cache.LoadingCache.stats:()Lcom/google/common/cache/CacheStats;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/dropwizard/auth/CachingAuthenticator<TC;TP;>;
}
Signature: <C:Ljava/lang/Object;P::Ljava/security/Principal;>Ljava/lang/Object;Lio/dropwizard/auth/Authenticator<TC;TP;>;
SourceFile: "CachingAuthenticator.java"
NestMembers:
io.dropwizard.auth.CachingAuthenticator$1 io.dropwizard.auth.CachingAuthenticator$InvalidCredentialsException
InnerClasses:
public Context = com.codahale.metrics.Timer$Context of com.codahale.metrics.Timer
io.dropwizard.auth.CachingAuthenticator$1
private InvalidCredentialsException = io.dropwizard.auth.CachingAuthenticator$InvalidCredentialsException of io.dropwizard.auth.CachingAuthenticator