1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
|
/* MediaEntry.java -- An entry in a MediaTracker
Copyright (C) 1999 Free Software Foundation, Inc.
This file is part of the non-peer AWT libraries of GNU Classpath.
This library is free software; you can redistribute it and/or modify
it under the terms of the GNU Library General Public License as published
by the Free Software Foundation, either version 2 of the License, or
(at your option) any later verion.
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 Library General Public License for more details.
You should have received a copy of the GNU Library 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 java.awt;
/**
* This is an entry in the media tracker
*
* @author Aaron M. Renn (arenn@urbanophile.com)
*/
abstract class MediaEntry implements java.io.Serializable
{
protected static final int LOADING = 1;
protected static final int ABORTED = 2;
protected static final int ERRORED = 4;
protected static final int COMPLETE = 8;
protected static final int LOADSTARTED = 16;
protected static final int DONE = 32;
private MediaTracker tracker;
private int ID;
private int status;
private boolean cancelled;
private MediaEntry next;
static MediaEntry
insert(MediaEntry a, MediaEntry b)
{
while (a.next != null)
a = a.next;
a.next = b;
return(b);
}
MediaEntry(MediaTracker tracker, int ID)
{
this.tracker = tracker;
this.ID = ID;
}
public int
getID()
{
return(ID);
}
public int
getStatus()
{
return(status);
}
public void
setStatus(int status)
{
this.status = status;
}
public MediaEntry
getNext()
{
return(next);
}
public void
cancel()
{
cancelled = true;
if ((status == LOADING) || (status == LOADSTARTED))
setStatus(ABORTED);
}
abstract void
startLoad();
abstract Object
getMedia();
} // class MediaEntry
|