/*
* Copyright (C) 2012 Google Inc.
*
* 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.
*/
package interactivespaces.domain.basic;
import java.io.Serializable;
/**
* A dependency needed by an {@link Activity}.
*
* @author Keith M. Hughes
*/
public interface ActivityDependency extends Serializable {
/**
* Get the activity which has the dependency.
*
* @return the activity
*/
Activity getActivity();
/**
* Set the activity which has the dependency.
*
* @param activity
* the activity which has the dependency
*/
void setActivity(Activity activity);
/**
* Get the identifying name of the dependency.
*
* @return the identifying name of the dependency
*/
String getIdentifyingName();
/**
* Set the identifying name of the dependency.
*
* @param identifyingName
* the identifying name of the dependency
*/
void setIdentifyingName(String identifyingName);
/**
* Get the minimum version necessary for the activity.
*
* @return the minimum version
*/
String getMinimumVersion();
/**
* Set the minimum version necessary for the activity.
*
* @param minimumVersion
* the minimum version
*/
void setMinimumVersion(String minimumVersion);
/**
* Get the maximum version necessary for the activity.
*
* @return the maximum version
*/
String getMaximumVersion();
/**
* Set the maximum version necessary for the activity.
*
* @param versionMaximum
* the maximum version
*/
void setMaximumVersion(String versionMaximum);
/**
* Is the dependency required?
*
* @return {@code true} if the dependency is required
*/
boolean isRequired();
/**
* Set if the dependency is required.
*
* @param required
* {@code true} if the dependency is required
*/
void setRequired(boolean required);
}