com.gemstone.gemfire.distributed.internal.DistributionAdvisee Maven / Gradle / Ivy
/*
* 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.distributed.internal;
import com.gemstone.gemfire.CancelCriterion;
import com.gemstone.gemfire.distributed.internal.DM;
import com.gemstone.gemfire.distributed.internal.InternalDistributedSystem;
import com.gemstone.gemfire.distributed.internal.DistributionAdvisor.Profile;
/**
* Resource which uses a {@link DistributionAdvisor}.
* @author darrel
* @since 5.7
*/
public interface DistributionAdvisee {
/**
* Returns the underlying DistributionManager
used for messaging.
* @return the underlying DistributionManager
*/
public DM getDistributionManager();
/**
* @return the cancellation object for the advisee
*/
public CancelCriterion getCancelCriterion();
/**
* Returns the DistributionAdvisor
that provides advice for
* this advisee.
* @return the DistributionAdvisor
*/
public DistributionAdvisor getDistributionAdvisor();
/**
* Returns the Profile
representing this member in the
* DistributionAdvisor
.
* @return the Profile
representing this member
*/
public Profile getProfile();
/**
* Returns this advisees parent or null if no parent exists.
* @return parent advisee
*/
public DistributionAdvisee getParentAdvisee();
/**
* Returns the underlying InternalDistributedSystem
connection.
* @return the underlying InternalDistributedSystem
*/
public InternalDistributedSystem getSystem();
/**
* Returns the simple name of this resource.
* @return the simple name of this resource
*/
public String getName();
/**
* Returns the full path of this resource.
* @return the full path of this resource.
*/
public String getFullPath();
/**
* Fill in the Profile
with details from the advisee.
* @param profile the Profile
to fill in with details
*/
public void fillInProfile(Profile profile);
/**
* @return the serial number which identifies the static order in which this
* region was created in relation to other regions or other instances of
* this region during the life of this JVM.
*/
public int getSerialNumber();
}