/**
   * FDGS 캐시 Object 조회<br>
   * <br>
   *
   * @param cacheName
   * @param cacheKey
   * @param clazz 캐스팅 할 클래스 타입
   * @return
   * @author Kim Ji Hye
   * @since 2015. 8. 31.
   */
  public static <T> T getObject(String cacheName, String cacheKey, Class<T> clazz) {

    // 캐시 매니저가 생성되기 이전에 조회하면 null을 리턴한다.
    if (CacheManager.getDefaultManager() == null) {
      return null;
    }

    if (cacheName == null || cacheKey == null || clazz == null) {
      return null;
    }

    /*if(LOG.isDebugEnabled()) {
    	LOG.debug("\n==== FDGSUtil.getCacheObject() - start ====" + " cacheName: " + cacheName + " cacheKey: " + cacheKey
    			+ " cacheValue class: " + clazz.getName());
    }*/

    Object cacheValue = null;

    //		try {

    cacheValue = CacheLoaderUtil.inGet(cacheName, cacheKey);

    if (cacheValue != null && cacheValue instanceof Map && ((Map) cacheValue).containsKey("data")) {
      cacheValue = ((Map) cacheValue).get("data");
    }

    if (cacheValue == null) {
      if (LOG.isTraceEnabled()) {
        LOG.trace("cacheValue is null");
      }
      return null;
    }

    if (!clazz.isAssignableFrom(cacheValue.getClass())) {
      if (LOG.isErrorEnabled()) {
        LOG.error("cacheValue is null");
      }
      return null;
    }

    //		} catch(NullPointerException npe) {
    //			if(LOG.isErrorEnabled()) {
    //				LOG.error("NullPointerException", npe);
    //			}
    //		}

    return (T) cacheValue;
  }
  public static void remove(String cacheName, String cacheKey) {

    // 캐시 매니저가 생성되기 이전에 조회하면 null을 리턴한다.
    if (CacheManager.getDefaultManager() == null) {
      return;
    }

    if (cacheName == null || cacheKey == null) {
      return;
    }

    /*if(LOG.isDebugEnabled()) {
    	LOG.debug("\n==== FDGSUtil.remove() - start ======");
    	LOG.debug("cacheName: " + cacheName + " cacheKey: " + cacheKey);
    }*/

    CacheLoaderUtil.inRemove(cacheName, cacheKey);
  }
  public static void putObject(String cacheName, String cacheKey, Object sendObj) {

    // 캐시 매니저가 생성되기 이전에 조회하면 null을 리턴한다.
    if (CacheManager.getDefaultManager() == null) {
      return;
    }

    if (cacheName == null || cacheKey == null || sendObj == null) {
      return;
    }

    /*if(LOG.isDebugEnabled()) {
    	LOG.debug("\n==== FDGSUtil.putObject() - start ======");
    	LOG.debug("cacheName: " + cacheName + " cacheKey: " + cacheKey);
    }*/

    CacheLoaderUtil.inPut(cacheName, cacheKey, sendObj);
  }