org.apache.commons.net.ftp.parser
Class RegexFTPFileEntryParserImpl

java.lang.Object
  extended by org.apache.commons.net.ftp.FTPFileEntryParserImpl
      extended by org.apache.commons.net.ftp.parser.RegexFTPFileEntryParserImpl
All Implemented Interfaces:
FTPFileEntryParser
Direct Known Subclasses:
ConfigurableFTPFileEntryParserImpl, EnterpriseUnixFTPEntryParser

public abstract class RegexFTPFileEntryParserImpl
extends FTPFileEntryParserImpl

This abstract class implements both the older FTPFileListParser and newer FTPFileEntryParser interfaces with default functionality. All the classes in the parser subpackage inherit from this. This is the base class for all regular expression based FTPFileEntryParser classes

Author:
Steve Cohen

Field Summary
protected  Matcher _matcher_
          Internal PatternMatcher object used by the parser.
 
Constructor Summary
RegexFTPFileEntryParserImpl(String regex)
          The constructor for a RegexFTPFileEntryParserImpl object.
 
Method Summary
 int getGroupCnt()
          Convenience method
 String getGroupsAsString()
          For debugging purposes - returns a string shows each match group by number.
 String group(int matchnum)
          Convenience method delegates to the internal MatchResult's group() method.
 boolean matches(String s)
          Convenience method delegates to the internal MatchResult's matches() method.
 boolean setRegex(String regex)
          Alter the current regular expression being utilised for entry parsing and create a new Pattern instance.
 
Methods inherited from class org.apache.commons.net.ftp.FTPFileEntryParserImpl
preParse, readNextEntry
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.commons.net.ftp.FTPFileEntryParser
parseFTPEntry
 

Field Detail

_matcher_

protected Matcher _matcher_
Internal PatternMatcher object used by the parser. It has protected scope in case subclasses want to make use of it for their own purposes.

Constructor Detail

RegexFTPFileEntryParserImpl

public RegexFTPFileEntryParserImpl(String regex)
The constructor for a RegexFTPFileEntryParserImpl object.

Parameters:
regex - The regular expression with which this object is initialized.
Throws:
IllegalArgumentException - Thrown if the regular expression is unparseable. Should not be seen in normal conditions. It it is seen, this is a sign that a subclass has been created with a bad regular expression. Since the parser must be created before use, this means that any bad parser subclasses created from this will bomb very quickly, leading to easy detection.
Method Detail

matches

public boolean matches(String s)
Convenience method delegates to the internal MatchResult's matches() method.

Parameters:
s - the String to be matched
Returns:
true if s matches this object's regular expression.

getGroupCnt

public int getGroupCnt()
Convenience method

Returns:
the number of groups() in the internal MatchResult.

group

public String group(int matchnum)
Convenience method delegates to the internal MatchResult's group() method.

Parameters:
matchnum - match group number to be retrieved
Returns:
the content of the matchnum'th group of the internal match or null if this method is called without a match having been made.

getGroupsAsString

public String getGroupsAsString()
For debugging purposes - returns a string shows each match group by number.

Returns:
a string shows each match group by number.

setRegex

public boolean setRegex(String regex)
Alter the current regular expression being utilised for entry parsing and create a new Pattern instance.

Parameters:
regex - The new regular expression
Returns:
true if the compiled pattern is not null
Since:
2.0


Copyright © 2001-2012 The Apache Software Foundation. All Rights Reserved.