/* * Copyright 2008-2017 the original author or authors. * * 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 org.codehaus.griffon.runtime.core.controller; import static java.util.Objects.requireNonNull; /** * @author Andres Almiray * @since 2.0.0 */ public class DefaultToolkitAction { private String name; private Runnable runnable; public DefaultToolkitAction() { this(null); } public DefaultToolkitAction(Runnable runnable) { this.runnable = runnable; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Runnable getRunnable() { return runnable; } public void setRunnable(Runnable runnable) { this.runnable = runnable; } public String toString() { return "Action[" + name + "]"; } public void execute() { requireNonNull(runnable, "Argument 'runnable' must not be null for " + this); runnable.run(); } }