001package com.streamconverter.path;
002
003/**
004 * 最小限のPathインターフェース
005 *
006 * <p>このインターフェースは、StreamConverterで使用される様々な種類のパスセレクタ (TreePath、TreePath、CSVパス)の統一的な契約を提供します。
007 *
008 * <p>Don't Ask, Tell原則に従い、パス一致判定のみに特化した設計です。
009 *
010 * @param <T> コンテキスト型(TreePath=JsonNode, TreePath=List&lt;String&gt;, CSVPath=Integer)
011 */
012public interface IPath<T> {
013
014  /**
015   * 指定されたコンテキストがこのパスにマッチするか判定
016   *
017   * @param context 判定対象のコンテキスト
018   * @return マッチする場合true
019   */
020  boolean matches(T context);
021}