cc.shacocloud.mirage.web.InterceptorMappingInfo Maven / Gradle / Ivy
package cc.shacocloud.mirage.web;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import java.util.Objects;
/**
* 拦截器映射信息
*
* 路径模式匹配使用{@link org.springframework.util.AntPathMatcher#match} 进行匹配
*/
@Getter
@Builder
@AllArgsConstructor(access = AccessLevel.PRIVATE)
public final class InterceptorMappingInfo {
/**
* 拦截器名称
*/
private final String interceptorName;
/**
* 拦截路径,如果不设置默认全匹配
*/
private final String[] includePatterns;
/**
* 排除路径
*/
private final String[] excludePatterns;
/**
* 处理程序
*/
private final HandlerInterceptor handler;
/**
* 排序字段
*/
private final int order;
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
InterceptorMappingInfo that = (InterceptorMappingInfo) o;
return Objects.equals(interceptorName, that.interceptorName);
}
@Override
public int hashCode() {
return Objects.hash(interceptorName);
}
}