Package org.apache.commons.net.ftp.parser

# Class RegexFTPFileEntryParserImpl

java.lang.Object
org.apache.commons.net.ftp.FTPFileEntryParserImpl
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

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected Matcher`
  `_matcher_`
  Internal PatternMatcher object used by the parser.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `RegexFTPFileEntryParserImpl(String regex)`
  The constructor for a RegexFTPFileEntryParserImpl object.
  `RegexFTPFileEntryParserImpl(String regex, int flags)`
  The constructor for a RegexFTPFileEntryParserImpl object.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `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.
  `boolean`
  `setRegex(String regex, int flags)`
  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 Details

  - ### _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 Details

  - ### RegexFTPFileEntryParserImpl

    public RegexFTPFileEntryParserImpl(String regex)
    The constructor for a RegexFTPFileEntryParserImpl object. The expression is compiled with flags = 0.
    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. If 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.

  - ### RegexFTPFileEntryParserImpl

    public RegexFTPFileEntryParserImpl(String regex, int flags)
    The constructor for a RegexFTPFileEntryParserImpl object.
    Parameters:
      `regex` - The regular expression with which this object is initialized.
      `flags` - the flags to apply, see `Pattern.compile(String, int)`. Use 0 for none.
    Throws:
      `IllegalArgumentException` - Thrown if the regular expression is unparseable. Should not be seen in normal conditions. If 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.
    Since:
      3.4

- ## Method Details

  - ### getGroupCnt

    public int getGroupCnt()
    Convenience method
    Returns:
      the number of groups() in the internal MatchResult.

  - ### 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.

  - ### 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.

  - ### 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.

  - ### 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
    Throws:
      `IllegalArgumentException` - if the regex cannot be compiled
    Since:
      2.0

  - ### setRegex

    public boolean setRegex(String regex, int flags)
    Alter the current regular expression being utilised for entry parsing and create a new `Pattern` instance.
    Parameters:
      `regex` - The new regular expression
      `flags` - the flags to apply, see `Pattern.compile(String, int)`. Use 0 for none.
    Returns:
      true
    Throws:
      `IllegalArgumentException` - if the regex cannot be compiled
    Since:
      3.4