package org.opendaylight.controller.sal.binding.codegen.impl import org.opendaylight.controller.sal.binding.spi.RpcRoutingTable import org.opendaylight.yangtools.yang.binding.BaseIdentity import org.opendaylight.yangtools.yang.binding.RpcService import org.opendaylight.yangtools.yang.binding.InstanceIdentifier import java.util.Map import org.opendaylight.yangtools.yang.binding.DataObject import java.util.HashMap class RpcRoutingTableImpl implements RpcRoutingTable{ @Property val Class identifier; @Property var S defaultRoute; @Property val Map,S> routes; new(Class ident, Map,S> route) { _identifier = ident _routes = route } new(Class ident) { _identifier = ident _routes = new HashMap } override getRoute(InstanceIdentifier nodeInstance) { val ret = routes.get(nodeInstance); if(ret !== null) { return ret; } return defaultRoute; } override removeRoute(InstanceIdentifier path) { routes.remove(path); } @SuppressWarnings("rawtypes") override updateRoute(InstanceIdentifier path, S service) { routes.put(path as InstanceIdentifier,service); } }