001/**
002 * Copyright (C) 2010, FuseSource Corp.  All rights reserved.
003 */
004package org.fusesource.hawtdispatch;
005
006/**
007 * <p>
008 * </p>
009 *
010 * @author <a href="http://hiramchirino.com">Hiram Chirino</a>
011 */
012final public class TaskWrapper extends Task {
013
014    private final Runnable runnable;
015
016    public TaskWrapper(Runnable runnable) {
017        this.runnable = runnable;
018    }
019
020    @Override
021    public void run() {
022        runnable.run();
023    }
024
025    @Override
026    public boolean equals(Object o) {
027        if (this == o) return true;
028        if (o == null || getClass() != o.getClass()) return false;
029        TaskWrapper that = (TaskWrapper) o;
030        if (runnable != null ? !runnable.equals(that.runnable) : that.runnable != null) return false;
031        return true;
032    }
033
034    @Override
035    public int hashCode() {
036        return runnable != null ? runnable.hashCode() : 0;
037    }
038
039    @Override
040    public String toString() {
041        return runnable.toString();
042    }
043}