/* * Copyright 2013 Guidewire Software, Inc. */ package gw.plugin.ij.lang.psi.impl.resolvers; import com.intellij.openapi.extensions.AbstractExtensionPointBean; import com.intellij.openapi.extensions.ExtensionPointName; import com.intellij.openapi.util.LazyInstance; import com.intellij.util.xmlb.annotations.Attribute; import gw.plugin.ij.lang.psi.api.IFileShadowingResolver; import org.jetbrains.annotations.NotNull; public class FileShadowingResolverExtensionBean extends AbstractExtensionPointBean { static final ExtensionPointName<FileShadowingResolverExtensionBean> EP_NAME = new ExtensionPointName<>("com.guidewire.gosu.fileShadowingResolver"); @Attribute("class") public String className; private final LazyInstance<IFileShadowingResolver> myHandler = new LazyInstance<IFileShadowingResolver>() { @NotNull protected Class<IFileShadowingResolver> getInstanceClass() throws ClassNotFoundException { return findClass(className); } }; @NotNull public IFileShadowingResolver getHandler() { return myHandler.getValue(); } }