001/**
002 *  '$Author: barseghian $'
003 *  '$Date: 2010-12-16 01:37:31 +0000 (Thu, 16 Dec 2010) $'
004 *  '$Revision: 26528 $'
005 *
006 *  For Details:
007 *  http://www.kepler-project.org
008 *
009 *  Copyright (c) 2009-2010 The Regents of the
010 *  University of California. All rights reserved. Permission is hereby granted,
011 *  without written agreement and without license or royalty fees, to use, copy,
012 *  modify, and distribute this software and its documentation for any purpose,
013 *  provided that the above copyright notice and the following two paragraphs
014 *  appear in all copies of this software. IN NO EVENT SHALL THE UNIVERSITY OF
015 *  CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL,
016 *  OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS
017 *  DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE
018 *  POSSIBILITY OF SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY
019 *  DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
020 *  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
021 *  SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
022 *  CALIFORNIA HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES,
023 *  ENHANCEMENTS, OR MODIFICATIONS.
024 */
025
026package org.kepler.workflowrunmanager;
027
028import java.util.ArrayList;
029import java.util.EventObject;
030import java.util.List;
031
032import org.kepler.objectmanager.lsid.KeplerLSID;
033
034public class WorkflowRunManagerEvent extends EventObject {
035
036        public static final String EXECUTION_START = "EXECUTION_START";
037        public static final String EXECUTION_STOP = "EXECUTION_STOP";
038        public static final String EXECUTION_ERROR = "EXECUTION_ERROR";
039        public static final String EXECUTION_IMPORTED = "EXECUTION_IMPORTED";
040        public static final String WORKFLOW_RENAMED = "WORKFLOW_RENAMED";
041        public static final String TAG_ADDED = "TAG_ADDED";
042        public static final String TAG_REMOVED = "TAG_REMOVED";
043        public static final String DELETION = "DELETION";
044        public static final String ADDITION = "ADDITION";
045        public static final String PROGRAMATIC_FILTER = "PROGRAMATIC_FILTER";
046        
047        private String _event = "";
048        private List<KeplerLSID> _LSIDs = new ArrayList<KeplerLSID>();
049        private boolean _isLastEvent = true;
050        private Object _eventData = null;
051        
052        /**
053         * 
054         * @param source the source of the event
055         * @param eventName
056         * @param lsids the LSIDS relevant to the event
057         */
058        public WorkflowRunManagerEvent(Object source, String eventName, List<KeplerLSID> lsids, boolean isLastEvent, Object eventData) {
059                super(source);
060                _event = eventName;
061                _LSIDs = lsids;
062                _isLastEvent = isLastEvent;
063                _eventData = eventData;
064        }
065
066        /**
067         * Type of event
068         * @return
069         */
070        public String getEventName(){
071                return _event;
072        }
073        
074        public List<KeplerLSID> getEventLSIDs(){
075                return _LSIDs;
076        }
077        
078        public boolean isLastEvent(){
079                return _isLastEvent;
080        }
081        
082        public Object getEventData(){
083                return _eventData;
084        }
085}