Skip to content

Package: IMAPMultipartDataSource

IMAPMultipartDataSource

nameinstructionbranchcomplexitylinemethod
IMAPMultipartDataSource(MimePart, BODYSTRUCTURE[], String, IMAPMessage)
M: 50 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 8 C: 0
0%
M: 1 C: 0
0%
getBodyPart(int)
M: 6 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
getCount()
M: 4 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%

Coverage

1: /*
2: * Copyright (c) 1997, 2023 Oracle and/or its affiliates. All rights reserved.
3: *
4: * This program and the accompanying materials are made available under the
5: * terms of the Eclipse Public License v. 2.0, which is available at
6: * http://www.eclipse.org/legal/epl-2.0.
7: *
8: * This Source Code may also be made available under the following Secondary
9: * Licenses when the conditions for such availability set forth in the
10: * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
11: * version 2 with the GNU Classpath Exception, which is available at
12: * https://www.gnu.org/software/classpath/license.html.
13: *
14: * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15: */
16:
17: package org.eclipse.angus.mail.imap;
18:
19:
20: import jakarta.mail.BodyPart;
21: import jakarta.mail.MessagingException;
22: import jakarta.mail.MultipartDataSource;
23: import jakarta.mail.internet.MimePart;
24: import jakarta.mail.internet.MimePartDataSource;
25: import org.eclipse.angus.mail.imap.protocol.BODYSTRUCTURE;
26:
27: import java.util.ArrayList;
28: import java.util.List;
29:
30: /**
31: * This class
32: *
33: * @author John Mani
34: */
35:
36: public class IMAPMultipartDataSource extends MimePartDataSource
37: implements MultipartDataSource {
38: private List<IMAPBodyPart> parts;
39:
40: protected IMAPMultipartDataSource(MimePart part, BODYSTRUCTURE[] bs,
41: String sectionId, IMAPMessage msg) {
42: super(part);
43:
44: parts = new ArrayList<>(bs.length);
45:• for (int i = 0; i < bs.length; i++)
46: parts.add(
47: new IMAPBodyPart(bs[i],
48:• sectionId == null ?
49: Integer.toString(i + 1) :
50: sectionId + "." + Integer.toString(i + 1),
51: msg)
52: );
53: }
54:
55: @Override
56: public int getCount() {
57: return parts.size();
58: }
59:
60: @Override
61: public BodyPart getBodyPart(int index) throws MessagingException {
62: return parts.get(index);
63: }
64: }