Class ArchitectureComponent

Implemented Interfaces:
ImageObserver, Runnable, GraphicalElement
Known Direct Subclasses:
Knoten, Verbindung

public abstract class ArchitectureComponent
extends java.lang.Object
implements Runnable, GraphicalElement, ImageObserver

Die abstrakte Klasse ArchitectureComponent stellt die Basisfunktionalität für die benötigten Netzwerkkomponenten zur Verfügung.
See Also:
Verbindung, Knoten, SimulationObject, GraphicalElement

Field Summary

(package private) debug
DEBUG
protected int
absXPos
protected int
absYPos
protected boolean
finished
protected Graphics
gc
protected int
height
protected int
id
protected boolean
initialized
protected boolean
marked
protected SimulationObject
net
protected boolean
paintRequested
protected Lock
sizeChangeLock
protected Thread
t
protected TextMethods
text
protected boolean
wakeUpable
protected int
width
protected int
xpos
protected int
ypos

Constructor Summary

ArchitectureComponent(int id, SimulationObject net, Graphics gc)
ArchitectureComponent(int id, SimulationObject net, Graphics gc, int xpos, int ypos, int width, int height)

Method Summary

void
acquireLocks()
Akquiriert alle für das Objekt zur Verfügung stehenden Locks
boolean
atLocation(int x, int y)
Liefert wahr falls die übergebenen Koordinaten sich im Bereich des Objektes befinden
void
finishUp()
Beendet den eigenen Thread und gibt Resourcen frei
boolean
finished()
Liefert wahr false das Objekt offiziell beendet wurde
int
getHeight()
Liefert die aktuelle Höhe THREADSAFE
int
getID()
Liefert die Identifikationsnummer der Komponente
SimulationObject
getNet()
Liefert das Netzwerk, zu dem die Komponente gehört
int
getPositionX()
Liefert die aktuelle X-Koordinate THREADSAFE
int
getPositionY()
Liefert die aktuelle Y-Koordinate THREADSAFE
int
getWidth()
Liefert die aktuelle Breite THREADSAFE
boolean
imageUpdate(Image image, int flags, int x, int y, int width, int height)
void
mark()
Signalisiert, daß das Objekt markiert ist
(package private) abstract void
paint()
void
paintRequest()
Signalisiert dem objekteigenen Thread, daß er das Objekt neu zeichnen soll
void
releaseLocks()
Gibt zuvor mit acquireLocks() akquirierte Locks wieder frei
void
resume()
Weckt den zuvor mit suspend() schlafengelegten Thread wieder auf
void
run()
void
setHeight(int h)
Setzt die aktuelle Höhe THREADSAFE
void
setPosition(int x, int y)
Setze die aktuelle Position auf die übergebenen Koordinaten THREADSAFE
void
setWidth(int w)
Setzt die aktuelle Breite THREADSAFE
void
suspend()
Legt den objekteigenen Thread schlafen
void
unmark()
Setzt Markierung zurück
void
wakeUp()
Wecke den objekteigenen Thread auf

Field Details

DEBUG

(package private)  debug DEBUG

absXPos

protected int absXPos

absYPos

protected int absYPos

finished

protected boolean finished

gc

protected Graphics gc

height

protected int height

id

protected int id

initialized

protected boolean initialized

marked

protected boolean marked

net

protected SimulationObject net

paintRequested

protected boolean paintRequested

sizeChangeLock

protected Lock sizeChangeLock

t

protected Thread t

text

protected TextMethods text

wakeUpable

protected boolean wakeUpable

width

protected int width

xpos

protected int xpos

ypos

protected int ypos

Constructor Details

ArchitectureComponent

public ArchitectureComponent(int id,
                             SimulationObject net,
                             Graphics gc)

ArchitectureComponent

public ArchitectureComponent(int id,
                             SimulationObject net,
                             Graphics gc,
                             int xpos,
                             int ypos,
                             int width,
                             int height)

Method Details

acquireLocks

public void acquireLocks()
Akquiriert alle für das Objekt zur Verfügung stehenden Locks

atLocation

public boolean atLocation(int x,
                          int y)
Liefert wahr falls die übergebenen Koordinaten sich im Bereich des Objektes befinden

finishUp

public void finishUp()
Beendet den eigenen Thread und gibt Resourcen frei

finished

public final boolean finished()
Liefert wahr false das Objekt offiziell beendet wurde

getHeight

public final int getHeight()
Liefert die aktuelle Höhe THREADSAFE
Specified by:
getHeight in interface GraphicalElement

getID

public final int getID()
Liefert die Identifikationsnummer der Komponente

getNet

public final SimulationObject getNet()
Liefert das Netzwerk, zu dem die Komponente gehört

getPositionX

public final int getPositionX()
Liefert die aktuelle X-Koordinate THREADSAFE
Specified by:
getPositionX in interface GraphicalElement

getPositionY

public final int getPositionY()
Liefert die aktuelle Y-Koordinate THREADSAFE
Specified by:
getPositionY in interface GraphicalElement

getWidth

public final int getWidth()
Liefert die aktuelle Breite THREADSAFE
Specified by:
getWidth in interface GraphicalElement

imageUpdate

public boolean imageUpdate(Image image,
                           int flags,
                           int x,
                           int y,
                           int width,
                           int height)

mark

public void mark()
Signalisiert, daß das Objekt markiert ist

paint

(package private)  abstract void paint()

paintRequest

public final void paintRequest()
Signalisiert dem objekteigenen Thread, daß er das Objekt neu zeichnen soll
Specified by:
paintRequest in interface GraphicalElement

releaseLocks

public void releaseLocks()
Gibt zuvor mit acquireLocks() akquirierte Locks wieder frei

resume

public void resume()
Weckt den zuvor mit suspend() schlafengelegten Thread wieder auf

run

public void run()

setHeight

public final void setHeight(int h)
Setzt die aktuelle Höhe THREADSAFE
Specified by:
setHeight in interface GraphicalElement

setPosition

public final void setPosition(int x,
                              int y)
Setze die aktuelle Position auf die übergebenen Koordinaten THREADSAFE
Specified by:
setPosition in interface GraphicalElement

setWidth

public final void setWidth(int w)
Setzt die aktuelle Breite THREADSAFE
Specified by:
setWidth in interface GraphicalElement

suspend

public void suspend()
Legt den objekteigenen Thread schlafen

unmark

public void unmark()
Setzt Markierung zurück

wakeUp

public final void wakeUp()
Wecke den objekteigenen Thread auf