001    /**
002     * Copyright (C) 2010, FuseSource Corp.  All rights reserved.
003     */
004    package org.fusesource.hawtdispatch;
005    
006    /**
007     * <p>
008     * </p>
009     *
010     * @author <a href="http://hiramchirino.com">Hiram Chirino</a>
011     */
012    final 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    }