|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.josql.filters.AbstractJoSQLFilter org.josql.filters.JoSQLFileFilter
public class JoSQLFileFilter
A FileFilter
that uses a JoSQL statement to provide the filtering.
The value returned by the accept(File)
method is determined by executing the
WHERE clause of a JoSQL statement on each File passed in.
Since this uses a sub-set of the JoSQL functionality certain restrictions apply:
SELECT * FROMjava.io.File
WHERE name $LIKE '%.html' AND lastModified >toDateMillis
('12-04-2004') AND file
Field Summary |
---|
Fields inherited from class org.josql.filters.AbstractJoSQLFilter |
---|
badQuery, exp, q |
Constructor Summary | |
---|---|
JoSQLFileFilter(Query q)
Init this file filter with the query already built and parsed. |
|
JoSQLFileFilter(String q)
Init this file filter with the query. |
Method Summary | |
---|---|
boolean |
accept(File f)
Apply the WHERE clause of the statement to the File passed in. |
boolean |
accept(Object o)
|
Class |
getExpectedClass()
Always returns File . |
Methods inherited from class org.josql.filters.AbstractJoSQLFilter |
---|
clearException, getException, getQuery, setQuery, setQuery |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public JoSQLFileFilter(String q) throws QueryParseException
q
- The query.
QueryParseException
- If there is an issue with the parsing of the query,
or if the FROM class is not File
.public JoSQLFileFilter(Query q) throws IllegalStateException, QueryParseException
q
- The query.
IllegalStateException
- If the Query object has not been parsed.
QueryParseException
- If the FROM class is not File
.Method Detail |
---|
public boolean accept(Object o)
accept
in class AbstractJoSQLFilter
public boolean accept(File f)
File
passed in.
If an exception is thrown by the execution of the WHERE clause the Query
is marked as "dirty" and the where clause is no longer executed on the passed in
files (since it is likely that the WHERE clause will fail for all File objects).
You can get access to exception by using: AbstractJoSQLFilter.getException()
.
accept
in interface FileFilter
f
- The file to evaluate the WHERE on.
true
if the WHERE clause evaluates to true
.public Class getExpectedClass()
File
.
getExpectedClass
in class AbstractJoSQLFilter
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |