/** * Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.sesame.cache.source; import com.opengamma.core.region.Region; import com.opengamma.core.region.RegionSource; import com.opengamma.id.ExternalId; import com.opengamma.id.ExternalIdBundle; import com.opengamma.sesame.cache.CacheInvalidator; import com.opengamma.util.ArgumentChecker; /** * */ public class CacheAwareRegionSource extends CacheAwareSourceWithExternalBundle<Region> implements RegionSource { private final RegionSource _delegate; public CacheAwareRegionSource(RegionSource delegate, CacheInvalidator cacheInvalidator) { super(delegate, cacheInvalidator); _delegate = ArgumentChecker.notNull(delegate, "delegate"); } @Override public Region getHighestLevelRegion(ExternalId externalId) { return register(_delegate.getHighestLevelRegion(externalId)); } @Override public Region getHighestLevelRegion(ExternalIdBundle bundle) { return register(_delegate.getHighestLevelRegion(bundle)); } }