Class BackingMapScheme

All Implemented Interfaces:
BackingMapManagerBuilder, BuilderCustomization, MapBuilder, NamedCacheBuilder, ServiceBuilder, CachingScheme, ObservableCachingScheme, Scheme, ServiceScheme

public class BackingMapScheme extends AbstractLocalCachingScheme
The BackingMapScheme class is responsible for building a fully configured instance of a backing map.
Since:
Coherence 12.1.2
Author:
pfm 2011.11.30
  • Field Details

    • ON_HEAP

      public static final int ON_HEAP
      An on-heap backup storage.
      See Also:
    • OFF_HEAP

      public static final int OFF_HEAP
      An off-heap backup storage.
      See Also:
    • FILE_MAPPED

      public static final int FILE_MAPPED
      A file mapped backup storage.
      See Also:
    • CUSTOM

      public static final int CUSTOM
      A custom backup storage.
      See Also:
    • SCHEME

      public static final int SCHEME
      A referenced scheme provides backup storage.
      See Also:
    • FLASHJOURNAL

      public static final int FLASHJOURNAL
      A Flash Journal backup storage.
      See Also:
    • RAMJOURNAL

      public static final int RAMJOURNAL
      A Ram Journal backup storage.
      See Also:
  • Constructor Details

    • BackingMapScheme

      public BackingMapScheme()
  • Method Details

    • realizeMap

      public Map realizeMap(ParameterResolver resolver, MapBuilder.Dependencies dependencies)
      Realize a Map based on the state of the MapBuilder, resolvable parameters and provided MapBuilder.Dependencies.
      Specified by:
      realizeMap in interface MapBuilder
      Overrides:
      realizeMap in class AbstractCachingScheme
      Parameters:
      resolver - the ParameterResolver
      dependencies - the MapBuilder.Dependencies for realizing the Map
      Returns:
      a Map
    • getInnerScheme

      public CachingScheme getInnerScheme()
      Return the inner scheme.
      Returns:
      the inner scheme
    • setInnerScheme

      public void setInnerScheme(CachingScheme scheme)
      Set the inner scheme.
      Parameters:
      scheme - the inner scheme
    • setPartitioned

      @Injectable public void setPartitioned(Expression<String> expr)
      Set the partitioned string.
      Parameters:
      expr - the Boolean expression set to 'true' or 'observable' if the backing map is partitioned
    • isPartitioned

      public boolean isPartitioned(ParameterResolver resolver, boolean fDefault)
      Return true if the partitioned flag is set explicitly or a journal map is used.
      Parameters:
      resolver - the ParameterResolver
      fDefault - the default partitioned flag
      Returns:
      true if the map is partitioned
    • isTransient

      public boolean isTransient(ParameterResolver resolver)
      Return true if the backing map is transient.
      Parameters:
      resolver - the ParameterResolver
      Returns:
      true if the backing map is transient
    • setTransient

      @Injectable public void setTransient(Expression<Boolean> expr)
      Set the transient flag.
      Parameters:
      expr - true to make the backing map transient.
    • isSlidingExpiry

      public Boolean isSlidingExpiry(ParameterResolver resolver)
      Return true iff sliding expiry is enabled.
      Parameters:
      resolver - the ParameterResolver
      Returns:
      true iff sliding expiry is enabled
    • setSlidingExpiry

      @Injectable("sliding-expiry") public void setSlidingExpiry(Expression<Boolean> expr)
      Set the SlidingExpiry flag.
      Parameters:
      expr - true to enable sliding expiry for the backing map
    • isFederateApplySynthetic

      public Boolean isFederateApplySynthetic(ParameterResolver resolver)
      Return true iff received federated changes should be applied locally as synthetic updates.
      Parameters:
      resolver - the ParameterResolver
      Returns:
      true iff received federated changes should be applied locally as synthetic updates
      Since:
      12.2.1.4
    • setFederateApplySynthetic

      @Injectable("federate-apply-synthetic") public void setFederateApplySynthetic(Expression<Boolean> expr)
      Set whether incoming federated changes should be applied locally as synthetic updates.
      Parameters:
      expr - true to apply incoming federated changes as synthetic
      Since:
      12.2.1.4
    • getStorageAccessAuthorizer

      public Expression<String> getStorageAccessAuthorizer()
      Obtains the Expression defining the name of the StorageAccessAuthorizer.
      Returns:
      the name of the StorageAccessAuthorizer or null if one has not been configured.
    • setStorageAccessAuthorizer

      @Injectable("storage-authorizer") public void setStorageAccessAuthorizer(Expression<String> exprStorageAccessAuthorizer)
      Sets the Expression defining the name of the StorageAccessAuthorizer.
      Parameters:
      exprStorageAccessAuthorizer - the Expression
    • getReadLocatorBuilder

      public ReadLocatorBuilder getReadLocatorBuilder()
      Return a builder that is capable of building BiFunction's that return the Member reads for a partitioned cache should be targeted against.
      Returns:
      a builder that is capable of building BiFunction's that return the Member reads for a partitioned cache should be targeted against
    • etReadLocatorBuilder

      @Injectable("read-locator") public void etReadLocatorBuilder(ReadLocatorBuilder bldrReadLocator)
      Sets the builder that is capable of building BiFunction's that return the Member reads for a partitioned cache should be targeted against.
      Parameters:
      bldrReadLocator - the builder
    • validate

      protected void validate(ParameterResolver resolver)
      Validate the properties.
      Overrides:
      validate in class AbstractCachingScheme
      Parameters:
      resolver - the ParameterResolver needed to resolve expressions