CacheMethodDetailsImpl.java

  1. /*
  2.  * Licensed to the Apache Software Foundation (ASF) under one
  3.  * or more contributor license agreements.  See the NOTICE file
  4.  * distributed with this work for additional information
  5.  * regarding copyright ownership.  The ASF licenses this file
  6.  * to you under the Apache License, Version 2.0 (the
  7.  * "License"); you may not use this file except in compliance
  8.  * with the License.  You may obtain a copy of the License at
  9.  *
  10.  *   http://www.apache.org/licenses/LICENSE-2.0
  11.  *
  12.  * Unless required by applicable law or agreed to in writing,
  13.  * software distributed under the License is distributed on an
  14.  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  15.  * KIND, either express or implied.  See the License for the
  16.  * specific language governing permissions and limitations
  17.  * under the License.
  18.  */
  19. package org.apache.commons.jcs3.jcache.cdi;

  20. import javax.cache.annotation.CacheMethodDetails;
  21. import javax.interceptor.InvocationContext;
  22. import java.lang.annotation.Annotation;
  23. import java.lang.reflect.Method;
  24. import java.util.Set;

  25. public class CacheMethodDetailsImpl<A extends Annotation> implements CacheMethodDetails<A>
  26. {
  27.     protected final InvocationContext delegate;
  28.     private final Set<Annotation> annotations;
  29.     private final A cacheAnnotation;
  30.     private final String cacheName;
  31.     protected final CDIJCacheHelper.MethodMeta meta;

  32.     public CacheMethodDetailsImpl(final InvocationContext delegate, final A cacheAnnotation, final String cacheName,
  33.                                   final CDIJCacheHelper.MethodMeta meta)
  34.     {
  35.         this.delegate = delegate;
  36.         this.annotations = meta.getAnnotations();
  37.         this.cacheAnnotation = cacheAnnotation;
  38.         this.cacheName = cacheName;
  39.         this.meta = meta;
  40.     }

  41.     @Override
  42.     public Method getMethod()
  43.     {
  44.         return delegate.getMethod();
  45.     }

  46.     @Override
  47.     public Set<Annotation> getAnnotations()
  48.     {
  49.         return annotations;
  50.     }

  51.     @Override
  52.     public A getCacheAnnotation()
  53.     {
  54.         return cacheAnnotation;
  55.     }

  56.     @Override
  57.     public String getCacheName()
  58.     {
  59.         return cacheName;
  60.     }
  61. }