📄 josqlswingfilefilter.java
字号:
/* * Copyright 2004-2005 Gary Bentley * * Licensed under the Apache License, Version 2.0 (the "License"); you may * not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.josql.filters;import java.io.File;import javax.swing.filechooser.FileFilter;import org.josql.Query;import org.josql.QueryParseException;/** * A {@link FileFilter} that uses a JoSQL statement to provide the filtering. * The value returned by the {@link #accept(File)} method is determined by executing the * WHERE clause of a JoSQL statement on each File passed in. This just uses an instance of: * {@link JoSQLFileFilter} to do it's job, see that class for details of usage. * <p> * Last Modified By: $Author: barrygently $<br /> * Last Modified On: $Date: 2005/01/07 17:10:40 $<br /> * Current Revision: $Revision: 1.1 $<br /> */ public class JoSQLSwingFileFilter extends FileFilter{ // Like I'm gonna re-invent the wheel! private JoSQLFileFilter ff = null; private String d = null; /** * Init this file filter with the query. * * @param q The query. * @throws QueryParseException If there is an issue with the parsing of the query, * or if the FROM class is not {@link File}. */ public JoSQLSwingFileFilter (String q) throws QueryParseException { this.ff = new JoSQLFileFilter (q); } /** * Init this file filter with the query already built and parsed. * * @param q The query. * @throws IllegalStateException If the Query object has not been parsed. * @throws QueryParseException If the FROM class is not {@link File}. */ public JoSQLSwingFileFilter (Query q) throws IllegalStateException, QueryParseException { this.ff = new JoSQLFileFilter (q); } /** * Set the JoSQLFileFilter that should be used to handle the {@link #accept(File)} method. * * @param ff The file filter. */ public void setJoSQLFileFilter (JoSQLFileFilter ff) { this.ff = ff; } /** * Set the description that should be used. * * @param d The description. */ public void setDescription (String d) { this.d = d; } /** * Return the description for the filter. * * @return The description. */ public String getDescription () { return this.d; } /** * Get the file filter being used "under the hoodie" in the {@link #accept(File)} method. * You should also check that file filter to see if an exception has occurred. * * @return The JoSQLFileFilter that is being used to perform the match. */ public JoSQLFileFilter getJoSQLFileFilter () { return this.ff; } /** * Apply the WHERE clause of the statement to the {@link File} passed in. * This is just a wrapper call to: {@link JoSQLFileFilter#accept(File)}. * * @param f The file to evaluate the WHERE on. * @return <code>true</code> if the WHERE clause evaluates to <code>true</code>. */ public boolean accept (File f) { return this.ff.accept (f); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -