NewGroupsOrNewsQuery
Date: 2016-06-23

org.apache.commons.net.nntp

## Class NewGroupsOrNewsQuery

- java.lang.Object
- - org.apache.commons.net.nntp.NewGroupsOrNewsQuery

-     public final class NewGroupsOrNewsQuery
      extends java.lang.Object

  The NewGroupsOrNewsQuery class. This is used to issue NNTP NEWGROUPS and NEWNEWS queries, implemented by `listNewNewsGroups` and `listNewNews` respectively. It prevents you from having to format date, time, distribution, and newgroup arguments.

  You might use the class as follows:

       query = new NewsGroupsOrNewsQuery(new GregorianCalendar(97, 11, 15), false);
       query.addDistribution("comp");
       NewsgroupInfo[] newsgroups = client.listNewgroups(query);

  This will retrieve the list of newsgroups starting with the comp. distribution prefix created since midnight 11/15/97.
  See Also:
    `NNTPClient`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `NewGroupsOrNewsQuery(java.util.Calendar date, boolean gmt)` Creates a new query using the given time as a reference point.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addDistribution(java.lang.String distribution)` Add a distribution group to the query.
    `void` | `addNewsgroup(java.lang.String newsgroup)` Add a newsgroup to the list of newsgroups being queried.
    `java.lang.String` | `getDate()` Return the NNTP query formatted date (year, month, day in the form YYMMDD.
    `java.lang.String` | `getDistributions()` Return the comma separated list of distributions.
    `java.lang.String` | `getNewsgroups()` Return the comma separated list of newsgroups.
    `java.lang.String` | `getTime()` Return the NNTP query formatted time (hour, minutes, seconds in the form HHMMSS.
    `boolean` | `isGMT()` Return whether or not the query date should be treated as GMT.
    `void` | `omitNewsgroup(java.lang.String newsgroup)` Add a newsgroup to the list of newsgroups being queried, but indicate that group should not be checked for new news.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### NewGroupsOrNewsQuery

          public NewGroupsOrNewsQuery(java.util.Calendar date,
                              boolean gmt)

      Creates a new query using the given time as a reference point.

      Parameters:
        `date` - The date since which new groups or news have arrived.
        `gmt` - True if the date should be considered as GMT, false if not.

  - ### Method Detail

    - #### addNewsgroup

          public void addNewsgroup(java.lang.String newsgroup)

      Add a newsgroup to the list of newsgroups being queried. Newsgroups added this way are only meaningful to the NEWNEWS command. Newsgroup names may include the `*` wildcard, as in `comp.lang.*` or `comp.lang.java.*` . Adding at least one newsgroup is mandatory for the NEWNEWS command.

      Parameters:
        `newsgroup` - The newsgroup to add to the list of groups to be checked for new news.

    - #### omitNewsgroup

          public void omitNewsgroup(java.lang.String newsgroup)

      Add a newsgroup to the list of newsgroups being queried, but indicate that group should not be checked for new news. Newsgroups added this way are only meaningful to the NEWNEWS command. Newsgroup names may include the `*` wildcard, as in `comp.lang.*` or `comp.lang.java.*` .

      The following would create a query that searched for new news in all comp.lang.java newsgroups except for comp.lang.java.advocacy.

           query.addNewsgroup("comp.lang.java.*");
           query.omitNewsgroup("comp.lang.java.advocacy");

      Parameters:
        `newsgroup` - The newsgroup to add to the list of groups to be checked for new news, but which should be omitted from the search for new news..

    - #### addDistribution

          public void addDistribution(java.lang.String distribution)

      Add a distribution group to the query. The distribution part of a newsgroup is the segment of the name preceding the first dot (e.g., comp, alt, rec). Only those newsgroups matching one of the distributions or, in the case of NEWNEWS, an article in a newsgroup matching one of the distributions, will be reported as a query result. Adding distributions is purely optional.

      Parameters:
        `distribution` - A distribution to add to the query.

    - #### getDate

          public java.lang.String getDate()

      Return the NNTP query formatted date (year, month, day in the form YYMMDD.

      Returns:
        The NNTP query formatted date.

    - #### getTime

          public java.lang.String getTime()

      Return the NNTP query formatted time (hour, minutes, seconds in the form HHMMSS.

      Returns:
        The NNTP query formatted time.

    - #### isGMT

          public boolean isGMT()

      Return whether or not the query date should be treated as GMT.

      Returns:
        True if the query date is to be treated as GMT, false if not.

    - #### getDistributions

          public java.lang.String getDistributions()

      Return the comma separated list of distributions. This may be null if there are no distributions.

      Returns:
        The list of distributions, which may be null if no distributions have been specified.

    - #### getNewsgroups

          public java.lang.String getNewsgroups()

      Return the comma separated list of newsgroups. This may be null if there are no newsgroups

      Returns:
        The list of newsgroups, which may be null if no newsgroups have been specified.