io.katharsis.meta.provider.MetaProvider Maven / Gradle / Ivy
package io.katharsis.meta.provider;
import java.lang.reflect.Type;
import java.util.Collection;
import java.util.Map;
import java.util.Set;
import io.katharsis.meta.model.MetaElement;
public interface MetaProvider {
public Collection getDependencies();
public Set> getMetaTypes();
public boolean accept(Type type, Class requestedMetaClass);
public MetaElement createElement(Type type, MetaProviderContext context);
public void discoverElements(MetaProviderContext context);
public void onInitializing(MetaProviderContext context, MetaElement element);
public void onInitialized(MetaProviderContext context, MetaElement element);
public Map getIdMappings();
}