All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.gemstone.gemfire.admin.SystemMemberRegion Maven / Gradle / Ivy

There is a newer version: 2.0-BETA
Show newest version
/*
 * Copyright (c) 2010-2015 Pivotal Software, Inc. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you
 * may not use this file except in compliance with the License. You
 * may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
 * implied. See the License for the specific language governing
 * permissions and limitations under the License. See accompanying
 * LICENSE file.
 */
package com.gemstone.gemfire.admin;

import com.gemstone.gemfire.cache.*;
import java.io.File;

/**
 * Administrative interface that represent's the {@link
 * SystemMember}'s view of one of its cache's {@link
 * com.gemstone.gemfire.cache.Region}s.  If the region in the remote
 * system member is closed or destroyed, the methods of
 * SystemMemberRegion will throw {@link
 * RegionNotFoundException}.
 *
 * @author    Darrel Schneider
 * @since 3.5
 * @deprecated as of 7.0 use the {@link com.gemstone.gemfire.management} package instead
 */
public interface SystemMemberRegion {
  // attributes
  /**
   * Returns the name that identifies this region in its cache.
   *
   * @see com.gemstone.gemfire.cache.Region#getName
   */
  public String getName();
  
  /**
   * Returns the full path name that identifies this region in its
   * cache.
   *
   * @see com.gemstone.gemfire.cache.Region#getFullPath
   */
  public String getFullPath();

  /**
   * Returns the names of all the subregions of this region.
   */
  public java.util.Set getSubregionNames();

  /**
   * Returns the full path of each of the subregions of this region.
   * These paths are suitable for use with {@link
   * SystemMemberCache#getRegion}.
   */
  public java.util.Set getSubregionFullPaths();

  /**
   * Returns a description of any user attribute associated with this
   * region.  The description includes the classname of the user
   * attribute object as well as its toString
   * representation.
   */
  public String getUserAttribute();

  /**
   * Returns a description of any CacheLoader associated with this region.
   */
  public String getCacheLoader();
  /**
   * Returns a description of any CacheWriter associated with this region.
   */
  public String getCacheWriter();

  /**
   * Returns the EvictionAttributes that configure how
   * entries in the the region are evicted 
   */
  public EvictionAttributes getEvictionAttributes();

  /**
   * Returns a description of the CacheListener in this region's attributes. If
   * there is more than 1 CacheListener defined for a region this method will
   * return the description of the 1st CacheListener returned from
   * {@link #getCacheListeners}
   * 
   * @deprecated as of 6.0 use getCacheListeners() instead
   */
  @Deprecated
  public String getCacheListener();

  /**
   * This method will return an empty array if there are no CacheListeners
   * defined on the region. If there are one or more than 1 CacheListeners
   * defined, this method will return an array which has the names of all the
   * CacheListeners
   * 
   * @return String[] the region's CacheListeners as a String array
   * @since 6.0
   */
  public String[] getCacheListeners();

  /**
   * Returns the KeyConstraint in this region's attributes.
   */
  public String getKeyConstraint();

  /**
   * Returns the ValueConstraint in this region's attributes.
   */
  public String getValueConstraint();

  /**
   * Returns the RegionTimeToLive time limit in this region's attributes.
   */
  public int getRegionTimeToLiveTimeLimit();

  /**
   * Returns the RegionTimeToLive action in this region's attributes.
   */
  public ExpirationAction getRegionTimeToLiveAction();

  /**
   * Returns the EntryTimeToLive time limit in this region's attributes.
   */
  public int getEntryTimeToLiveTimeLimit();

  /**
   * Returns the EntryTimeToLive action in this region's attributes.
   */
  public ExpirationAction getEntryTimeToLiveAction();

  /**
   * string describing the CustomExpiry for entry-time-to-live
   * @return the CustomExpiry for entry-time-to-live
   */
  public String getCustomEntryTimeToLive();
  
  /**
   * Returns the RegionIdleTimeout time limit in this region's attributes.
   */
  public int getRegionIdleTimeoutTimeLimit();

  /**
   * Returns the RegionIdleTimeout action in this region's attributes.
   */
  public ExpirationAction getRegionIdleTimeoutAction();

  /**
   * Returns the EntryIdleTimeout time limit in this region's attributes.
   */
  public int getEntryIdleTimeoutTimeLimit();

  /**
   * Returns the EntryIdleTimeout action in this region's attributes.
   */
  public ExpirationAction getEntryIdleTimeoutAction();
  
  /**
   * string describing the CustomExpiry for entry-idle-timeout
   * @return the CustomExpiry for entry-idle-timeout
   */
  public String getCustomEntryIdleTimeout();
  
  /**
   * Returns the MirrorType in this region's attributes.
   * @deprecated as of 5.0, you should use getDataPolicy instead
   */
  @Deprecated
  public MirrorType getMirrorType();
  
  /**
   * Returns the DataPolicy in this region's attributes.
   */
  public DataPolicy getDataPolicy();
  
  /**
  
  /**
   * Returns the Scope in this region's attributes.
   */
  public Scope getScope();

  /**
   * Returns the InitialCapacity in this region's attributes.
   */
  public int getInitialCapacity();

  /**
   * Returns the LoadFactor in this region's attributes.
   */
  public float getLoadFactor();

  /**
   * Returns the ConcurrencyLevel in this region's attributes.
   */
  public int getConcurrencyLevel();

  /**
   * Returns whether or not conflicting concurrent operations on this region
   * are prevented 
   */
  public boolean getConcurrencyChecksEnabled();

  /**
   * Returns the StatisticsEnabled in this region's attributes.
   */
  public boolean getStatisticsEnabled();

  /**
   * Returns whether or not a persistent backup should be made of the
   * region (as opposed to just writing the overflow data to disk).
   */
  public boolean getPersistBackup();

  /**
   * Returns the DiskWriteAttributes that configure how
   * the region is written to disk.
   */
  public DiskWriteAttributes getDiskWriteAttributes();

  /**
   * Returns the directories to which the region's data are written.  If
   * multiple directories are used, GemFire will attempt to distribute the
   * data evenly amongst them.
   */
  public File[] getDiskDirs();

  /**
   * Returns the number of entries currently in this region.
   */
  public int getEntryCount();
  
  /**
   * Returns the number of subregions currently in this region.
   */
  public int getSubregionCount();

  /**
   * Returns the LastModifiedTime obtained from this region's statistics.
   */
  public long getLastModifiedTime();

  /**
   * Returns the LastAccessedTime obtained from this region's statistics.
   */
  public long getLastAccessedTime();

  /**
   * Returns the HitCount obtained from this region's statistics.
   */
  public long getHitCount();

  /**
   * Returns the MissCount obtained from this region's statistics.
   */
  public long getMissCount();

  /**
   * Returns the HitRatio obtained from this region's statistics.
   */
  public float getHitRatio();

  /**
   * Returns whether or not acks are sent after an update is processed.
   * @return False if acks are sent after updates are processed;
   *         true if acks are sent before updates are processed.
   *
   * @since 4.1
   */
  public boolean getEarlyAck();

  // operations
  /**
   * Updates the state of this region instance. Note that once a cache
   * instance is closed refresh will never change the state of its regions.
   */
  public void refresh();

  /**
   * Creates a subregion of this region.
   *
   * @param name
   *        The name of the region to create
   * @param attrs
   *        The attributes of the root region
   *
   * @throws AdminException
   *         If the region cannot be created
   *
   * @since 4.0
   */
  public SystemMemberRegion createSubregion(String name,
                                            RegionAttributes attrs)
    throws AdminException;

  /**
   * Returns the MembershipAttributes that configure required
   * roles for reliable access to the region.
   * @since 5.0
   */
  public MembershipAttributes getMembershipAttributes();
  
  /**
   * Returns the SubscriptionAttributes for the region.
   * @since 5.0
   */
  public SubscriptionAttributes getSubscriptionAttributes();
  
  /**
   * Returns the PartitionAttributes for the region.
   * @since 5.7
   */
  public PartitionAttributes getPartitionAttributes();

}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy