package ${package_name};

import com.sap.mbs.core.api.BOException;
import com.sap.mbs.core.api.BOList;
import com.sap.mbs.core.api.Component;
import com.sap.mbs.core.api.Controller;
import com.sap.mbs.core.api.NamingService;
import com.sap.mbs.core.api.Forward;
import com.sap.mbs.core.control.AbstractController;
import ${bo_interface_package}.*;
import ${control_package_name}.*;

public class ${class_name}
	extends AbstractController implements ${top_bo_name}Custom {

    private BOList		${top_bo_name_lower}s = null;
    private ${top_bo_name}	selected${top_bo_name} = null;

${block1}

    private ${top_bo_name}Manager  manager = (${top_bo_name}Manager)
	NamingService.getInstance().lookup(${top_bo_name}Manager.class.getName());

    public ${class_name}() {
	super();
    }

    public BOList get${top_bo_name}s() throws BOException {

	if (${top_bo_name_lower}s == null) {
	    ${top_bo_name_lower}s = manager.get${top_bo_name}s();
	}

	return	${top_bo_name_lower}s;
    }

    public ${top_bo_name} getSelected${top_bo_name}() {
	return	selected${top_bo_name};
    }

    public void setSelected${top_bo_name}(String key) throws BOException {
	if (key != null) {
	    selected${top_bo_name} = manager.lookup${top_bo_name}(key);
	} else {
	    selected${top_bo_name} = null;
	}

	// refresh child items
${block2}
    }

${block3}

}






