package org.limewire.inspection; import java.io.File; import com.google.inject.Injector; /** * Inspector based on a human-readable key. */ public interface Inspector { /** * @param props a file containing mappings * from human-readable keys to inspection point paths. */ void load(File props); /** * @return true if mappings were loaded successfully */ boolean loaded(); /** * @param key human readable key or actual path to inspect. * @param collectUsageData whether DataCategory.USAGE inspection points should be collected * @return the Object from the inspection * @throws InspectionException if something goes wrong */ Object inspect(String key, boolean collectUsageData) throws InspectionException; /** Sets the new Injector that will be used for inspections. */ void setInjector(Injector injector); }