Klasse ArticleImpl

java.lang.Object
org.sonews.storage.ArticleImpl
Alle implementierten Schnittstellen:
Article

class ArticleImpl extends Object implements Article
Represents a newsgroup article.
Seit:
n3tpd/0.1
Autor:
Christian Lins, Dennis Schwerdel
  • Felddetails

    • headers

      protected jakarta.mail.internet.InternetHeaders headers
    • headerSrc

      protected String headerSrc
    • body

      private byte[] body
    • sender

      private User sender
    • log

      private final org.slf4j.Logger log
  • Konstruktordetails

    • ArticleImpl

      public ArticleImpl()
    • ArticleImpl

      public ArticleImpl(String headers, byte[] body)
      Creates a new Article object using the date from the given raw data.
      Parameter:
      headers -
      body -
    • ArticleImpl

      public ArticleImpl(jakarta.mail.Message msg) throws IOException, jakarta.mail.MessagingException
      Creates an Article instance using the data from the javax.mail.Message object. This constructor is called by the Mailinglist gateway.
      Parameter:
      msg -
      Löst aus:
      IOException
      jakarta.mail.MessagingException
      Siehe auch:
      • Ungültige Referenz
        javax.mail.Message
  • Methodendetails

    • readContent

      private byte[] readContent(jakarta.mail.Message in) throws IOException, jakarta.mail.MessagingException
      Reads from the given Message into a byte array.
      Parameter:
      in -
      Gibt zurück:
      Löst aus:
      IOException
      jakarta.mail.MessagingException
    • removeHeader

      public void removeHeader(String headerKey)
      Removes the header identified by the given key.
      Angegeben von:
      removeHeader in Schnittstelle Article
      Parameter:
      headerKey -
    • generateMessageID

      private String generateMessageID() throws UnsupportedEncodingException
      Generates a message id for this article and sets it into the header object. You have to update the JDBCDatabase manually to make this change persistent. Note: a Message-ID should never be changed and only generated once.
      Löst aus:
      UnsupportedEncodingException
    • getBody

      public byte[] getBody()
      Returns the body string.
      Angegeben von:
      getBody in Schnittstelle Article
      Gibt zurück:
    • getGroups

      public Set<Group> getGroups()
      Angegeben von:
      getGroups in Schnittstelle Article
      Gibt zurück:
      List of newsgroups this ArticleImpl belongs to.
    • setBody

      public void setBody(byte[] body)
      Angegeben von:
      setBody in Schnittstelle Article
    • setGroup

      public void setGroup(String groupname)
      Angegeben von:
      setGroup in Schnittstelle Article
      Parameter:
      groupname - Name(s) of newsgroups
    • getMessageID

      public String getMessageID()
      Returns the Message-ID of this ArticleImpl. If the appropriate header is empty, a new Message-ID is created.
      Angegeben von:
      getMessageID in Schnittstelle Article
      Gibt zurück:
      Message-ID of this ArticleImpl.
    • toString

      public String toString()
      Setzt außer Kraft:
      toString in Klasse Object
      Gibt zurück:
      String containing the Message-ID.
    • getUser

      public User getUser()
      Gibt zurück:
      sender – currently logged user – or null, if user is not authenticated.
    • setUser

      public void setUser(User sender)
      This method is to be called from POST Command implementation.
      Parameter:
      sender - current username – or null, if user is not authenticated.
    • getHeader

      public String[] getHeader(String name, boolean returnNull)
      Returns the header field with given name.
      Angegeben von:
      getHeader in Schnittstelle Article
      Parameter:
      name - Name of the header field(s).
      returnNull - If set to true, this method will return null instead of an empty array if there is no header field found.
      Gibt zurück:
      Header values or empty string.
    • getHeader

      public String[] getHeader(String name)
      Beschreibung aus Schnittstelle kopiert: Article
      Convenience method for getHeader(name, false).
      Angegeben von:
      getHeader in Schnittstelle Article
      Parameter:
      name -
      Gibt zurück:
    • setHeader

      public void setHeader(String name, String value)
      Sets the header value identified through the header name.
      Angegeben von:
      setHeader in Schnittstelle Article
      Parameter:
      name -
      value -
    • getAllHeaders

      public Enumeration<?> getAllHeaders()
      Angegeben von:
      getAllHeaders in Schnittstelle Article
    • getHeaderSource

      public String getHeaderSource()
      Angegeben von:
      getHeaderSource in Schnittstelle Article
      Gibt zurück:
      Header source code of this Article.
    • setHeaders

      public void setHeaders(jakarta.mail.internet.InternetHeaders headers)
      Sets the headers of this Article. If headers contain no Message-Id a new one is created.
      Angegeben von:
      setHeaders in Schnittstelle Article
      Parameter:
      headers -
    • validateHeaders

      private void validateHeaders()
      Checks some headers for their validity and generates an appropriate Path-header for this host if not yet existing. This method is called by some Article constructors and the method setHeaders().
    • validatePathHeader

      private void validatePathHeader()
    • validateDateHeader

      private void validateDateHeader()
    • hasBody

      public boolean hasBody()
      Angegeben von:
      hasBody in Schnittstelle Article
      Gibt zurück:
      false if the body was not fetched from the backend