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

Revision 6785, 3.2 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 org.apache.james.mime4j.io.LineNumberInputStream;
37
38import serpro.mailarchiver.util.Logger;
39
40@PersistenceCapable
41public class BodyPart
42    extends BodyEntity
43{
44    @NotPersistent
45    private static final Logger log = Logger.getLocalLogger();
46
47    public BodyPart(LineNumberInputStream.Entity lnisEntity) {
48        super(lnisEntity);
49    }
50
51    public BodyPart() {}
52
53    @Override
54    public final Multipart getComposite() {
55        return (Multipart)composite;
56    }
57
58    public final void setComposite(Multipart composite) {
59        if(this.composite != null) {
60            getComposite().internal_removeBodyPart(this);
61        }
62        this.composite = composite;
63        if(this.composite != null) {
64            getComposite().internal_addBodyPart(this);
65        }
66    }
67
68    public final int getCompositeIdx() {
69        return (compositeIdx != null) ? compositeIdx
70                : (getComposite() != null) ? getComposite().indexOf(this)
71                : -1;
72    }
73
74    //--------------------------------------------------------------------------
75    @Override
76    final String toString(String pad) {
77        String idx = (composite == null) ? "" : ("[" + String.valueOf(getCompositeIdx()) + "]");
78        return String.format(
79                "BodyPart %1$s%n"
80              + "%2$sjdoState: %3$s%n"
81              + "%2$soid: %4$s%n"
82              + "%2$shash: %5$x%n"
83              + "%2$sstartLine: %6$d%n"
84              + "%2$sseparatorLine: %7$d%n"
85              + "%2$sendLine: %8$d%n"
86              + "%2$ssize: %9$d"
87              , idx
88              , pad
89              , JDOHelper.getObjectState(this)
90              , getOid()
91              , hashCode()
92              , getStartLine()
93              , getSeparatorLine()
94              , getEndLine()
95              , getSize());
96    }
97}
Note: See TracBrowser for help on using the repository browser.