package org.archstudio.myx.fw;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
public class MyxBasicInterfaceManager implements IMyxInterfaceManager {
protected final IMyxRuntime runtime;
protected final List<? extends IMyxName> path;
protected final IMyxName brickName;
public MyxBasicInterfaceManager(IMyxRuntime runtime, List<? extends IMyxName> path, IMyxName brickName) {
this.runtime = runtime;
if (path == null) {
this.path = Collections.emptyList();
}
else {
this.path = Collections.unmodifiableList(new ArrayList<IMyxName>(path));
}
this.brickName = brickName;
}
@Override
public void addInterface(IMyxName interfaceName, IMyxInterfaceDescription interfaceDescription,
EMyxInterfaceDirection interfaceDirection) {
runtime.addInterface(path, brickName, interfaceName, interfaceDescription, interfaceDirection);
}
@Override
public void removeInterface(IMyxName interfaceName) {
runtime.removeInterface(path, brickName, interfaceName);
}
@Override
public Collection<? extends IMyxName> getAllInterfaceNames() {
return runtime.getAllInterfaceNames(path, brickName);
}
@Override
public IMyxInterfaceDescription getInterfaceDescription(IMyxName interfaceName) {
return runtime.getInterfaceDescription(path, brickName, interfaceName);
}
@Override
public EMyxInterfaceDirection getInterfaceDirection(IMyxName interfaceName) {
return runtime.getInterfaceDirection(path, brickName, interfaceName);
}
}