/* * Copyright 2013 Guidewire Software, Inc. */ package gw.lang.reflect.module; import gw.lang.reflect.IDefaultTypeLoader; import gw.lang.reflect.ITypeLoader; import gw.lang.reflect.ITypeRefFactory; import gw.lang.UnstableAPI; import gw.lang.reflect.RefreshRequest; import gw.lang.reflect.gs.TypeName; import java.util.List; import java.util.Set; @UnstableAPI public interface ITypeLoaderStack { List<ITypeLoader> getTypeLoaderStack(); ITypeRefFactory getTypeRefFactory(); IModule getModule(); <T extends ITypeLoader> T getTypeLoader( Class<? extends T> loaderType ); IDefaultTypeLoader getDefaultTypeLoader(); void refreshed(); void shutdown(); Set<TypeName> getTypeNames(String namespace); }