package mezz.jei.api.recipe;
import javax.annotation.Nonnull;
/**
* An IRecipeHandler provides information about one Recipe Class.
*/
public interface IRecipeHandler<T> {
/** Returns the class of the Recipe handled by this IRecipeHandler. */
@Nonnull
Class<T> getRecipeClass();
/** Returns this recipe's category unique id. */
@Nonnull
String getRecipeCategoryUid();
/** Returns a recipe wrapper for the given recipe. */
@Nonnull
IRecipeWrapper getRecipeWrapper(@Nonnull T recipe);
/** Returns true if a recipe is valid and can be used. */
boolean isRecipeValid(@Nonnull T recipe);
}