NewsgroupInfo.java
- /*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.apache.commons.net.nntp;
- /**
- * NewsgroupInfo stores information pertaining to a newsgroup returned by the NNTP GROUP, LIST, and NEWGROUPS commands, implemented by
- * {@link org.apache.commons.net.nntp.NNTPClient#selectNewsgroup selectNewsgroup } , {@link org.apache.commons.net.nntp.NNTPClient#listNewsgroups listNewsgroups
- * } , and {@link org.apache.commons.net.nntp.NNTPClient#listNewNewsgroups listNewNewsgroups } respectively.
- *
- * @see NNTPClient
- */
- public final class NewsgroupInfo {
- /**
- * A constant indicating that the posting permission of a newsgroup is unknown. For example, the NNTP GROUP command does not return posting information, so
- * NewsgroupInfo instances obtained from that command will have an UNKNOWN_POSTING_PERMISSION.
- */
- public static final int UNKNOWN_POSTING_PERMISSION = 0;
- /** A constant indicating that a newsgroup is moderated. */
- public static final int MODERATED_POSTING_PERMISSION = 1;
- /** A constant indicating that a newsgroup is public and unmoderated. */
- public static final int PERMITTED_POSTING_PERMISSION = 2;
- /**
- * A constant indicating that a newsgroup is closed for general posting.
- */
- public static final int PROHIBITED_POSTING_PERMISSION = 3;
- private String newsgroup;
- private long estimatedArticleCount;
- private long firstArticle;
- private long lastArticle;
- private int postingPermission;
- @Deprecated
- public int getArticleCount() {
- return (int) estimatedArticleCount;
- }
- /**
- * Gets the estimated number of articles in the newsgroup. The accuracy of this value will depend on the server implementation.
- *
- * @return The estimated number of articles in the newsgroup.
- */
- public long getArticleCountLong() {
- return estimatedArticleCount;
- }
- @Deprecated
- public int getFirstArticle() {
- return (int) firstArticle;
- }
- /**
- * Gets the number of the first article in the newsgroup.
- *
- * @return The number of the first article in the newsgroup.
- */
- public long getFirstArticleLong() {
- return firstArticle;
- }
- @Deprecated
- public int getLastArticle() {
- return (int) lastArticle;
- }
- /**
- * Gets the number of the last article in the newsgroup.
- *
- * @return The number of the last article in the newsgroup.
- */
- public long getLastArticleLong() {
- return lastArticle;
- }
- /**
- * Gets the newsgroup name.
- *
- * @return The name of the newsgroup.
- */
- public String getNewsgroup() {
- return newsgroup;
- }
- /**
- * Gets the posting permission of the newsgroup. This will be one of the <code>POSTING_PERMISSION</code> constants.
- *
- * @return The posting permission status of the newsgroup.
- */
- public int getPostingPermission() {
- return postingPermission;
- }
- void setArticleCount(final long count) {
- estimatedArticleCount = count;
- }
- void setFirstArticle(final long first) {
- firstArticle = first;
- }
- /*
- * public String toString() { StringBuilder buffer = new StringBuilder(); buffer.append(__newsgroup); buffer.append(' '); buffer.append(__lastArticle);
- * buffer.append(' '); buffer.append(__firstArticle); buffer.append(' '); switch(__postingPermission) { case 1: buffer.append('m'); break; case 2:
- * buffer.append('y'); break; case 3: buffer.append('n'); break; } return buffer.toString(); }
- */
- // DEPRECATED METHODS - for API compatibility only - DO NOT USE
- void setLastArticle(final long last) {
- lastArticle = last;
- }
- void setNewsgroup(final String newsgroup) {
- this.newsgroup = newsgroup;
- }
- void setPostingPermission(final int permission) {
- postingPermission = permission;
- }
- }