001 /* 002 * JBoss, Home of Professional Open Source. 003 * Copyright 2008, Red Hat Middleware LLC, and individual contributors 004 * as indicated by the @author tags. See the copyright.txt file in the 005 * distribution for a full listing of individual contributors. 006 * 007 * This is free software; you can redistribute it and/or modify it 008 * under the terms of the GNU Lesser General Public License as 009 * published by the Free Software Foundation; either version 2.1 of 010 * the License, or (at your option) any later version. 011 * 012 * This software is distributed in the hope that it will be useful, 013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 015 * Lesser General Public License for more details. 016 * 017 * You should have received a copy of the GNU Lesser General Public 018 * License along with this software; if not, write to the Free 019 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 020 * 02110-1301 USA, or see the FSF site: http://www.fsf.org. 021 */ 022 package org.jboss.dna.graph.commands; 023 024 /** 025 * The base interface for all repository commands 026 * 027 * @author Randall Hauch 028 */ 029 public interface GraphCommand { 030 031 /** 032 * Return whether this command has been cancelled. 033 * 034 * @return true if this command has been cancelled, or false otherwise. 035 */ 036 boolean isCancelled(); 037 038 /** 039 * Set the error for this command. 040 * 041 * @param error the exception 042 * @see #getError() 043 * @see #hasError() 044 * @see #hasNoError() 045 */ 046 void setError( Throwable error ); 047 048 /** 049 * Get the error for this command. 050 * 051 * @return the error, or null if there is no error 052 * @see #setError(Throwable) 053 * @see #hasError() 054 * @see #hasNoError() 055 */ 056 Throwable getError(); 057 058 /** 059 * Return true if this command has an {@link #getError() error}. 060 * 061 * @return true if the command has an error, or false otherwise 062 * @see #getError() 063 * @see #setError(Throwable) 064 * @see #hasNoError() 065 */ 066 boolean hasError(); 067 068 /** 069 * Convenience method that is equivalent to <code>!hasError()</code>. 070 * 071 * @return true if the command has no error, or false otherwise 072 * @see #getError() 073 * @see #setError(Throwable) 074 * @see #hasError() 075 */ 076 boolean hasNoError(); 077 078 }