/** * Copyright (c) 2009-2011, The HATS Consortium. All rights reserved. * This file is licensed under the terms of the Modified BSD License. */ package abs.backend.java.observing; import java.util.List; import abs.backend.java.lib.runtime.ABSException; import abs.backend.java.lib.types.ABSValue; public interface TaskView { /** * The Task that did the asynchronous call leading to this task is null for * the main task, otherwise is never null * * @return */ TaskView getSender(); /** * The source object of the asynchronous call leading to this task is null * for the main task, otherwise is never null * * @return the source object, or <code>null</code> if there is no source object */ ObjectView getSource(); ObjectView getTarget(); COGView getCOG(); String getMethodName(); List<ABSValue> getArgs(); FutView getFuture(); void registerTaskListener(TaskObserver listener); int getID(); boolean isDeadlocked(); boolean hasException(); ABSException getException(); TaskStackView getStack(); }