001 /*
002 * Copyright 2002-2004 the original author or authors.
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
005 * use this file except in compliance with the License. You may obtain a copy of
006 * the License at
007 *
008 * http://www.apache.org/licenses/LICENSE-2.0
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
012 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
013 * License for the specific language governing permissions and limitations under
014 * the License.
015 */
016 package org.springframework.richclient.command;
017
018 import java.util.EventObject;
019
020 import org.springframework.richclient.util.Assert;
021
022 /**
023 * An event object that originated from a {@link CommandRegistry}.
024 *
025 */
026 public class CommandRegistryEvent extends EventObject {
027
028 private static final long serialVersionUID = 740046110521079234L;
029
030 private final AbstractCommand command;
031
032 /**
033 * Creates a new {@code CommandRegistryEvent} for the given registry and command.
034 *
035 * @param source The command registry that originated the event. Must not be null.
036 * @param command The command that the event relates to. Must not be null.
037 *
038 * @throws IllegalArgumentException if either argument is null.
039 */
040 public CommandRegistryEvent(CommandRegistry source, AbstractCommand command) {
041 super(source);
042 Assert.required(source, "source");
043 Assert.required(command, "command");
044 this.command = command;
045 }
046
047 /**
048 * Returns the command that the event relates to.
049 *
050 * @return The command, never null.
051 */
052 public AbstractCommand getCommand() {
053 return command;
054 }
055
056 }