DefaultModuleManager.java 824 字节
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
package com.site.initialization;

import java.util.List;

import com.site.helper.Splitters;
import com.site.lookup.ContainerHolder;
import com.site.lookup.annotation.Inject;

public class DefaultModuleManager extends ContainerHolder implements ModuleManager {
	@Inject
	private String m_topLevelModules;

	@Override
	public Module[] getTopLevelModules() {
		if (m_topLevelModules != null) {
			List<String> hints = Splitters.by(',').trim().noEmptyItem().split(m_topLevelModules);
			Module[] topLevelModules = new Module[hints.size()];
			int index = 0;

			for (String hint : hints) {
				topLevelModules[index++] = lookup(Module.class, hint);
			}

			return topLevelModules;
		} else {
			return new Module[0];
		}
	}

	public void setTopLevelModules(String topLevelModules) {
		m_topLevelModules = topLevelModules;
	}
}