/* * 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 live activity that is part of a {@link LiveActivityGroup}. * * @author Keith M. Hughes */ public interface GroupLiveActivity extends Serializable { /** * Get the activity group this activity is part of. * * @return the live activity group */ LiveActivityGroup getActivityGroup(); /** * Set the activity group this activity is part of. * * @param activityGroup * the live activity group */ void setActivityGroup(LiveActivityGroup activityGroup); /** * Get the activity this represents. * * @return the live activity */ LiveActivity getActivity(); /** * Set the live activity this represents. * * @param activity * the live activity */ void setActivity(LiveActivity activity); /** * Get the dependency status of the activity in its containing activity group. * * @return the dependency status */ GroupLiveActivityDependency getDependency(); /** * Set the dependency status of the activity in its containing activity group. * * @param dependency * the dependency */ void setDependency(GroupLiveActivityDependency dependency); /** * The status of a live activity dependency in a live activity group. * * @author Keith M. Hughes */ public enum GroupLiveActivityDependency { /** * The live activity is required in the group. */ REQUIRED("activity.group.activity.dependency.required"), /** * The live activity is optional in the group. */ OPTIONAL("activity.group.activity.dependency.optional"); /** * Message ID for the description. */ private String description; /** * Construct a new enum. * * @param description * the description */ GroupLiveActivityDependency(String description) { this.description = description; } /** * Get the dependency description. * * @return the description */ public String getDescription() { return description; } } }