All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.longxiaoyun.is.service.ParserHandler Maven / Gradle / Ivy

package io.github.longxiaoyun.is.service;

import io.github.longxiaoyun.is.enums.DirectiveType;

public interface ParserHandler {

    /**
     * 解析过程开始时的处理逻辑。该方法将在任何调用之前执行一次
     */
    void handleStart();

    /**
     * 指令接收器。每个指令由类型和值组成。该方法将在 {@link this#handleStart()} 之后调用,而不会在 {@link this#handleEnd()} 之后调用。可能会被调用多次。
     * @param directiveType 指令类型
     * @param directiveValue 指令值
     */
    void handleDirective(final DirectiveType directiveType, final String directiveValue);


    /**
     * 解析过程结束的处理程序。该方法将在 {@link this#handleStart()} 或 {@link this#handleDirective(DirectiveType, String)} 之后调用一次
     */
    void handleEnd();


    /**
     * 调用此方法会根据之前通过 {@link this#handleDirective(DirectiveType, String)} 方法接收到的所有信息生成匹配器。
     * 因此,它返回具有匹配功能的 robots.txt 文件的序列化视图。该方法将在 {@link this#handleEnd()} 之后调用。可能会被调用多次。
     * @return 表示原始 robots.txt 文件的匹配器
     */
    Matcher compute();
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy