package org.archstudio.myx.java.demo.basic; import org.archstudio.myx.fw.AbstractMyxSimpleBrick; import org.archstudio.myx.fw.IMyxName; import org.archstudio.myx.fw.MyxUtils; public class ServerComponent extends AbstractMyxSimpleBrick { public static final IMyxName PROVIDED_INTERFACE_NAME = MyxUtils.createName("math"); protected IMath math; public ServerComponent() { this.math = new MathImpl(); } @Override public Object getServiceObject(IMyxName interfaceName) { if (interfaceName.equals(PROVIDED_INTERFACE_NAME)) { return math; } return null; } class MathImpl implements IMath { @Override public int add(int a, int b) { return a + b; } @Override public int mul(int a, int b) { return a * b; } @Override public int sub(int a, int b) { return a - b; } } }