source: contrib/MailArchiver/sources/src/serpro/mailarchiver/domain/metaarchive/MessageBody.java @ 6785

Revision 6785, 3.1 KB checked in by rafaelraymundo, 12 years ago (diff)

Ticket #2946 - Liberado codigo do MailArchiver?. Documentação na subpasta DOCS.

Line 
1/**
2 * MailArchiver is an application that provides services for storing and managing e-mail messages through a Web Services SOAP interface.
3 * Copyright (C) 2012  Marcio Andre Scholl Levien and Fernando Alberto Reuter Wendt and Jose Ronaldo Nogueira Fonseca Junior
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU Affero General Public License as
7 * published by the Free Software Foundation, either version 3 of the
8 * License, or (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 * GNU Affero General Public License for more details.
14 *
15 * You should have received a copy of the GNU Affero General Public License
16 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
17 */
18
19/******************************************************************************\
20*
21*  This product was developed by
22*
23*        SERVIÇO FEDERAL DE PROCESSAMENTO DE DADOS (SERPRO),
24*
25*  a government company established under Brazilian law (5.615/70),
26*  at Department of Development of Porto Alegre.
27*
28\******************************************************************************/
29
30package serpro.mailarchiver.domain.metaarchive;
31
32import javax.jdo.JDOHelper;
33import javax.jdo.annotations.NotPersistent;
34import javax.jdo.annotations.PersistenceCapable;
35
36import serpro.mailarchiver.util.Logger;
37
38@PersistenceCapable
39public class MessageBody
40    extends Body
41{
42    @NotPersistent
43    private static final Logger log = Logger.getLocalLogger();
44
45    //**** P E R S I S T E N T ****
46    private EmbeddedMessage embeddedMessage;
47    //*****************************
48
49    public final EmbeddedMessage getEmbeddedMessage() {
50        return embeddedMessage;
51    }
52
53    public final void setEmbeddedMessage(EmbeddedMessage embeddedMessage) {
54        if(this.embeddedMessage != null) {
55            this.embeddedMessage.internal_setComposite(null);
56        }
57        this.embeddedMessage = embeddedMessage;
58        if(this.embeddedMessage != null) {
59            this.embeddedMessage.internal_setComposite(this);
60        }
61    }
62
63    final void internal_setEmbeddedMessage(EmbeddedMessage embeddedMessage) {
64        this.embeddedMessage = embeddedMessage;
65    }
66
67    //--------------------------------------------------------------------------
68    @Override
69    final void dumpTree(StringBuilder sb, String pad) {
70        sb.append(toString(pad + ((embeddedMessage != null) ? "|   " : "    ")));
71        if(embeddedMessage != null) {
72            sb.append("\n")
73              .append(pad).append("|\n")
74              .append(pad).append("+---");
75            embeddedMessage.dumpTree(sb, pad + "    ");
76        }
77    }
78
79    @Override
80    final String toString(String pad) {
81        return String.format(
82                "MessageBody%n"
83              + "%1$sjdoState: %2$s%n"
84              + "%1$soid: %3$s%n"
85              + "%1$shash: %4$x"
86              , pad
87              , JDOHelper.getObjectState(this)
88              , getOid()
89              , hashCode());
90    }
91}
Note: See TracBrowser for help on using the repository browser.