Example implementation
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
package org.openautonomousconnection.luascript.hosts;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
public interface AudioHost {
|
||||
|
||||
void play(File audioFile);
|
||||
|
||||
}
|
||||
@@ -45,6 +45,8 @@ public interface HostServices {
|
||||
*/
|
||||
Optional<ConsoleHost> console();
|
||||
|
||||
Optional<AudioHost> audio();
|
||||
|
||||
/**
|
||||
* Simple immutable implementation.
|
||||
*/
|
||||
@@ -54,6 +56,7 @@ public interface HostServices {
|
||||
private final EventHost events;
|
||||
private final ResourceHost resources;
|
||||
private final ConsoleHost console;
|
||||
private final AudioHost audioHost;
|
||||
|
||||
/**
|
||||
* Creates a HostServices container.
|
||||
@@ -64,12 +67,13 @@ public interface HostServices {
|
||||
* @param resources resource host
|
||||
* @param console console host
|
||||
*/
|
||||
public Default(UiHost ui, DomHost dom, EventHost events, ResourceHost resources, ConsoleHost console) {
|
||||
public Default(UiHost ui, DomHost dom, EventHost events, ResourceHost resources, ConsoleHost console, AudioHost audioHost) {
|
||||
this.ui = ui;
|
||||
this.dom = dom;
|
||||
this.events = events;
|
||||
this.resources = resources;
|
||||
this.console = console;
|
||||
this.audioHost = audioHost;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -96,6 +100,11 @@ public interface HostServices {
|
||||
public Optional<ConsoleHost> console() {
|
||||
return Optional.ofNullable(console);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<AudioHost> audio() {
|
||||
return Optional.ofNullable(audioHost);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user