GraphicsApp API
Eine überarbeitete und angepasste Variante der originalen GraphicsApp-Umgebung
GraphicsAppCore.java
gehe zur Dokumentation dieser Datei
1
package
de.ur.mi.oop.app;
2
3
import
de.ur.mi.oop.graphics.GraphicsObject;
4
5
import
java.lang.ref.Cleaner;
6
import
java.util.ArrayList;
7
8
/**
9
* Die GraphicsAppCore-Klasse verwaltet den Zeichenpuffer und die Konfiguration.
10
*/
11
public
class
GraphicsAppCore
{
12
13
private
static
GraphicsAppCore
app =
null
;
14
private
AppManager
manager;
15
private
ArrayList<GraphicsObject> drawBuffer;
16
private
Config
config;
17
18
/*
19
* Full singleton pattern might not be possible:
20
*
21
* On runtime, only one GraphicsApp instance is allowed but all GraphicsApps need a public constructor to be created
22
* in GraphicsAppLauncher via reflection.
23
*/
24
public
GraphicsAppCore
() {
25
try
{
26
if
(app ==
null
) {
27
app =
this
;
28
drawBuffer =
new
ArrayList<>();
29
}
else
{
30
throw
new
OnlyOneGraphicsAppAllowedException
();
31
}
32
}
catch
(
OnlyOneGraphicsAppAllowedException
e) {
33
e.printStackTrace();
34
}
35
}
36
37
public
static
GraphicsApp
getApp
() {
38
return
(
GraphicsApp
) app;
39
}
40
41
public
void
setAppManager
(
AppManager
manager) {
42
this.manager = manager;
43
}
44
45
public
AppManager
getAppManager
() {
46
return
manager;
47
}
48
49
public
void
setConfig
(
Config
config) {
50
this.config = config;
51
}
52
53
public
Config
getConfig
() {
54
return
config;
55
}
56
57
public
void
addToDrawBuffer
(
GraphicsObject
object
) {
58
drawBuffer.add(
object
);
59
}
60
61
public
GraphicsObject
[]
getDrawBuffer
() {
62
// TODO Think about passing copies of the objects!
63
return
drawBuffer.toArray(
new
GraphicsObject
[0]);
64
}
65
66
public
void
clearDrawBuffer
() {
67
drawBuffer.clear();
68
}
69
70
public
void
destroy
() {
71
app =
null
;
72
}
73
}
de.ur.mi.oop.app.AppManager
Definition:
AppManager.java:20
de.ur.mi.oop.app.Config
Definition:
Config.java:10
de.ur.mi.oop.app.GraphicsAppCore
Definition:
GraphicsAppCore.java:11
de.ur.mi.oop.app.GraphicsAppCore.getAppManager
AppManager getAppManager()
Definition:
GraphicsAppCore.java:45
de.ur.mi.oop.app.GraphicsAppCore.setAppManager
void setAppManager(AppManager manager)
Definition:
GraphicsAppCore.java:41
de.ur.mi.oop.app.GraphicsAppCore.getApp
static GraphicsApp getApp()
Definition:
GraphicsAppCore.java:37
de.ur.mi.oop.app.GraphicsAppCore.destroy
void destroy()
Definition:
GraphicsAppCore.java:70
de.ur.mi.oop.app.GraphicsAppCore.getDrawBuffer
GraphicsObject[] getDrawBuffer()
Definition:
GraphicsAppCore.java:61
de.ur.mi.oop.app.GraphicsAppCore.clearDrawBuffer
void clearDrawBuffer()
Definition:
GraphicsAppCore.java:66
de.ur.mi.oop.app.GraphicsAppCore.getConfig
Config getConfig()
Definition:
GraphicsAppCore.java:53
de.ur.mi.oop.app.GraphicsAppCore.addToDrawBuffer
void addToDrawBuffer(GraphicsObject object)
Definition:
GraphicsAppCore.java:57
de.ur.mi.oop.app.GraphicsAppCore.GraphicsAppCore
GraphicsAppCore()
Definition:
GraphicsAppCore.java:24
de.ur.mi.oop.app.GraphicsAppCore.setConfig
void setConfig(Config config)
Definition:
GraphicsAppCore.java:49
de.ur.mi.oop.app.GraphicsApp
Definition:
GraphicsApp.java:33
de.ur.mi.oop.app.OnlyOneGraphicsAppAllowedException
Definition:
OnlyOneGraphicsAppAllowedException.java:6
de.ur.mi.oop.graphics.GraphicsObject
Definition:
GraphicsObject.java:16
src
de
ur
mi
oop
app
GraphicsAppCore.java
Erzeugt am Don Nov 4 2021 11:33:23 für GraphicsApp API von
1.9.2