gw.lang.reflect.gs.IEnhancementIndex Maven / Gradle / Ivy
/*
* Copyright 2014 Guidewire Software, Inc.
*/
package gw.lang.reflect.gs;
import gw.lang.reflect.IMethodInfo;
import gw.lang.reflect.IPropertyInfo;
import gw.lang.reflect.IType;
import gw.lang.reflect.RefreshRequest;
import java.util.Collection;
import java.util.List;
import java.util.Map;
public interface IEnhancementIndex
{
void maybeLoadEnhancementIndex();
void refreshedTypes(RefreshRequest request);
void addEnhancementMethods( IType typeToEnhance, Collection methodsToAddTo );
void addEnhancementProperties(IType typeToEnhance, Map propertyInfosToAddTo, boolean caseSensitive);
List extends IGosuEnhancement> getEnhancementsForType( IType gosuClass );
void removeEntry( IGosuEnhancement enhancement );
void addEntry( IType enhancedType, IGosuEnhancement enhancement );
String getOrphanedEnhancement(String typeName);
}