3636import static java .util .Objects .requireNonNull ;
3737
3838/**
39- * Loads and manages split filter configurations for the CLP connector .
39+ * Loads and manages {@link ClpSplitFilterConfig}s from a config file .
4040 * <p></p>
41- * The configuration file is specified by the {@code clp.split-filter-config} property and defines
42- * split filters used to optimize query execution through split filtering.
41+ * The config file is specified by the {@code clp.split-filter-config} property.
4342 * <p></p>
4443 * Filter configs can be declared at either a catalog, schema, or table scope. Filter configs under
4544 * a particular scope will apply to all child scopes (e.g., schema-level filter configs will apply
4645 * to all tables within that schema).
4746 * <p></p>
48- * Different split filter providers can customize filter configurations through the
49- * {@code "customOptions"} field within each {@link ClpSplitFilterConfig}.
47+ * Implementations of this class can customize filter configs through the {@code "customOptions"}
48+ * field within each {@link ClpSplitFilterConfig}.
5049 */
5150public abstract class ClpSplitFilterProvider
5251{
@@ -77,30 +76,27 @@ public ClpSplitFilterProvider(ClpConfig config)
7776 }
7877
7978 /**
80- * Rewrites the given {@code pushDownExpression} for split filtering to remap filter conditions
81- * based on the custom configuration options stored defined in {@code "customOptions"} fields
82- * of the given scope.
79+ * Rewrites {@code pushDownExpression} to remap filter conditions based on the
80+ * {@code "customOptions"} for the given scope.
8381 * <p></p>
84- * The {@code scope} follows the format {@code catalog[.schema][.table]}, and determines
85- * which filter mappings to apply, since mappings from more specific scopes (e.g., table-level)
82+ * {@code scope} follows the format {@code catalog[.schema][.table]}, and determines which
83+ * filter mappings to apply, since mappings from more specific scopes (e.g., table-level)
8684 * override or supplement those from broader scopes (e.g., catalog-level). For each scope
87- * (catalog, schema, table), this method collects all range mappings defined in the split
88- * filter configuration .
85+ * (catalog, schema, table), this method collects all mappings defined in
86+ * {@code "customOptions"} .
8987 *
9088 * @param scope the scope of the filter
91- * @param pushDownExpression the {@code pushDownExpression} for split filtering that needs to
92- * be rewritten
93- * @return the rewritten {@code pushDownExpression} for split filtering
89+ * @param pushDownExpression the expression to be rewritten
90+ * @return the rewritten expression
9491 */
9592 public abstract String remapSplitFilterPushDownExpression (String scope , String pushDownExpression );
9693
9794 /**
98- * Checks for the given table, if the given {@code pushDownExpression} for split filtering
99- * contains all required fields.
95+ * Checks for the given table, if {@code splitFilterPushDownExpression} contains all required
96+ * fields.
10097 *
10198 * @param tableScopeSet the set of scopes of the tables that are being queried
102- * @param splitFilterPushDownExpression the remapped {@code pushDownExpression} for split
103- * filtering to be checked
99+ * @param splitFilterPushDownExpression the expression to be checked
104100 */
105101 public void checkContainsRequiredFilters (Set <String > tableScopeSet , String splitFilterPushDownExpression )
106102 {
@@ -127,11 +123,11 @@ public Set<String> getColumnNames(String scope)
127123 }
128124
129125 /**
130- * Returns the {@link CustomSplitFilterOptions} class implemented by the user . To respect our
131- * code style, we recommend implementing a {@code protected static class} as an inner class
132- * in the user-implemented {@link ClpSplitFilterProvider} class.
126+ * Returns the implemented {@link CustomSplitFilterOptions} class. To respect our code style, we
127+ * recommend implementing a {@code protected static class} as an inner class in the implemented
128+ * {@link ClpSplitFilterProvider} class.
133129 *
134- * @return the user- implemented {@link CustomSplitFilterOptions} class.
130+ * @return the implemented {@link CustomSplitFilterOptions} class
135131 */
136132 protected abstract Class <? extends CustomSplitFilterOptions > getCustomSplitFilterOptionsClass ();
137133
0 commit comments