From 5aec1c158fb96957e9e33fd7d059dffdce6ffcb8 Mon Sep 17 00:00:00 2001 From: mdb Date: Wed, 28 Sep 2005 03:04:10 +0000 Subject: [PATCH] A ResultListener created for easy listener chaining. git-svn-id: https://samskivert.googlecode.com/svn/trunk@1716 6335cc39-0255-0410-8fd6-9bcaacd3b74c --- .../util/ChainedResultListener.java | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 projects/samskivert/src/java/com/samskivert/util/ChainedResultListener.java diff --git a/projects/samskivert/src/java/com/samskivert/util/ChainedResultListener.java b/projects/samskivert/src/java/com/samskivert/util/ChainedResultListener.java new file mode 100644 index 00000000..c2cf65f1 --- /dev/null +++ b/projects/samskivert/src/java/com/samskivert/util/ChainedResultListener.java @@ -0,0 +1,45 @@ +// +// samskivert library - useful routines for java programs +// Copyright (C) 2001-2004 Michael Bayne +// +// This library is free software; you can redistribute it and/or modify it +// under the terms of the GNU Lesser General Public License as published +// by the Free Software Foundation; either version 2.1 of the License, or +// (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +package com.samskivert.util; + +/** + * A result listener that contains another result listener to which failure is + * passed directly, but allows for success to be handled in whatever way is + * desired by the chaining result listener. + */ +public abstract class ChainedResultListener + implements ResultListener +{ + /** + * Creates a chained result listener that will pass failure through to the + * specified target. + */ + public ChainedResultListener (ResultListener target) + { + _target = target; + } + + // documentation inherited from interface ResultListener + public void requestFailed (Exception cause) + { + _target.requestFailed(cause); + } + + protected ResultListener _target; +}