类javax.mail.internet.SharedInputStream源码实例Demo

下面列出了怎么用javax.mail.internet.SharedInputStream的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: james-project   文件: SimpleMailboxMessage.java
public SimpleMailboxMessage(MessageId messageId, Date internalDate, long size, int bodyStartOctet,
        SharedInputStream content, Flags flags,
        PropertyBuilder propertyBuilder, MailboxId mailboxId, List<MessageAttachmentMetadata> attachments,
        boolean hasAttachment) {
    super(new SimpleMessage(
            messageId,
            content, size, internalDate, propertyBuilder.getSubType(),
            propertyBuilder.getMediaType(),
            bodyStartOctet,
            propertyBuilder.getTextualLineCount(),
            propertyBuilder.toProperties(),
            attachments,
            hasAttachment));

        setFlags(flags);
        this.mailboxId = mailboxId;
        this.userFlags = flags.getUserFlags();
}
 
源代码2 项目: james-project   文件: MessageFullViewFactory.java
private MetaDataWithContent(MessageUid uid,
                            Keywords keywords,
                            long size,
                            Instant internalDate,
                            InputStream content,
                            SharedInputStream sharedContent,
                            List<MessageAttachmentMetadata> attachments,
                            Set<MailboxId> mailboxIds,
                            MessageId messageId) {
    this.uid = uid;
    this.keywords = keywords;
    this.size = size;
    this.internalDate = internalDate;
    this.content = content;
    this.sharedContent = sharedContent;
    this.attachments = attachments;
    this.mailboxIds = mailboxIds;
    this.messageId = messageId;
}
 
public JPAStreamingMailboxMessage(JPAMailbox mailbox, Date internalDate, int size, Flags flags, SharedInputStream content, int bodyStartOctet, PropertyBuilder propertyBuilder) throws MailboxException {
    super(mailbox, internalDate, flags, size, bodyStartOctet, propertyBuilder);
    this.content = content;

    try {
        this.header = getHeaderContent();
        this.body = getBodyContent();

    } catch (IOException e) {
        throw new MailboxException("Unable to parse message",e);
    }
}
 
源代码4 项目: james-project   文件: JPAMailboxMessage.java
public JPAMailboxMessage(JPAMailbox mailbox, Date internalDate, int size, Flags flags, SharedInputStream content, int bodyStartOctet, PropertyBuilder propertyBuilder) throws MailboxException {
    super(mailbox, internalDate, flags, size, bodyStartOctet, propertyBuilder);
    try {
        int headerEnd = bodyStartOctet;
        if (headerEnd < 0) {
            headerEnd = 0;
        }
        this.header = IOUtils.toByteArray(content.newStream(0, headerEnd));
        this.body = IOUtils.toByteArray(content.newStream(getBodyStartOctet(), -1));

    } catch (IOException e) {
        throw new MailboxException("Unable to parse message",e);
    }
}
 
public JPAEncryptedMailboxMessage(JPAMailbox mailbox, Date internalDate, int size, Flags flags, SharedInputStream content, int bodyStartOctet, PropertyBuilder propertyBuilder) throws MailboxException {
    super(mailbox, internalDate, flags, size, bodyStartOctet, propertyBuilder);
    try {
        int headerEnd = bodyStartOctet;
        if (headerEnd < 0) {
            headerEnd = 0;
        }
        this.header = IOUtils.toByteArray(content.newStream(0, headerEnd));
        this.body = IOUtils.toByteArray(content.newStream(getBodyStartOctet(), -1));

    } catch (IOException e) {
        throw new MailboxException("Unable to parse message",e);
    }
}
 
源代码6 项目: james-project   文件: OpenJPAMessageFactory.java
@Override
public AbstractJPAMailboxMessage createMessage(MessageId messageId, Mailbox mailbox, Date internalDate, int size, int bodyStartOctet, SharedInputStream content, Flags flags, PropertyBuilder propertyBuilder, List<MessageAttachmentMetadata> attachments) throws MailboxException {
    switch (feature) {
        case Streaming:
            return new JPAStreamingMailboxMessage(JPAMailbox.from(mailbox), internalDate, size, flags, content,
                bodyStartOctet, propertyBuilder);
        case Encryption:
            return new JPAEncryptedMailboxMessage(JPAMailbox.from(mailbox), internalDate, size, flags, content,
                bodyStartOctet, propertyBuilder);
        default:
            return new JPAMailboxMessage(JPAMailbox.from(mailbox), internalDate, size, flags, content,  bodyStartOctet,  propertyBuilder);
    }
}
 
源代码7 项目: james-project   文件: MessageFactory.java
@Override
public SimpleMailboxMessage createMessage(MessageId messageId, Mailbox mailbox, Date internalDate, int size,
                                    int bodyStartOctet, SharedInputStream content, Flags flags,
                                    PropertyBuilder propertyBuilder, List<MessageAttachmentMetadata> attachments) {
    return new SimpleMailboxMessage(messageId, internalDate, size, bodyStartOctet, content, flags, propertyBuilder,
        mailbox.getMailboxId(), attachments);
}
 
源代码8 项目: james-project   文件: MessageStorer.java
@Override
public Pair<MessageMetaData, Optional<List<MessageAttachmentMetadata>>> appendMessageToStore(Mailbox mailbox, Date internalDate, int size, int bodyStartOctet, SharedInputStream content, Flags flags, PropertyBuilder propertyBuilder, MailboxSession session) throws MailboxException {
    MessageMapper messageMapper = mapperFactory.getMessageMapper(session);
    MessageId messageId = messageIdFactory.generate();

    return mapperFactory.getMessageMapper(session).execute(() -> {
        List<MessageAttachmentMetadata> attachments = storeAttachments(messageId, content, session);
        MailboxMessage message = messageFactory.createMessage(messageId, mailbox, internalDate, size, bodyStartOctet, content, flags, propertyBuilder, attachments);
        MessageMetaData metadata = messageMapper.add(mailbox, message);
        return Pair.of(metadata, Optional.of(attachments));
    });
}
 
源代码9 项目: james-project   文件: MessageStorer.java
private List<ParsedAttachment> extractAttachments(SharedInputStream contentIn) {
    try {
        return messageParser.retrieveAttachments(contentIn.newStream(START, UNLIMITED));
    } catch (Exception e) {
        LOGGER.warn("Error while parsing mail's attachments: {}", e.getMessage(), e);
        return ImmutableList.of();
    }
}
 
源代码10 项目: james-project   文件: MessageStorer.java
@Override
public Pair<MessageMetaData, Optional<List<MessageAttachmentMetadata>>> appendMessageToStore(Mailbox mailbox, Date internalDate, int size, int bodyStartOctet, SharedInputStream content, Flags flags, PropertyBuilder propertyBuilder, MailboxSession session) throws MailboxException {
    MessageMapper messageMapper = mapperFactory.getMessageMapper(session);
    MessageId messageId = messageIdFactory.generate();

    return mapperFactory.getMessageMapper(session).execute(() -> {
        MailboxMessage message = messageFactory.createMessage(messageId, mailbox, internalDate, size, bodyStartOctet, content, flags, propertyBuilder, ImmutableList.of());
        MessageMetaData metadata = messageMapper.add(mailbox, message);
        return Pair.of(metadata, Optional.empty());
    });
}
 
源代码11 项目: james-project   文件: SimpleMailboxMessage.java
public SimpleMailboxMessage(MessageId messageId, Date internalDate, long size, int bodyStartOctet,
        SharedInputStream content, Flags flags,
        PropertyBuilder propertyBuilder, MailboxId mailboxId, List<MessageAttachmentMetadata> attachments) {
    this(messageId, internalDate, size, bodyStartOctet,
        content, flags,
        propertyBuilder, mailboxId, attachments, !attachments.isEmpty());
}
 
源代码12 项目: james-project   文件: SimpleMailboxMessage.java
public SimpleMailboxMessage(MessageId messageId, Date internalDate, long size, int bodyStartOctet,
                            SharedInputStream content, Flags flags,
                            PropertyBuilder propertyBuilder, MailboxId mailboxId) {
    this(messageId, internalDate, size, bodyStartOctet,
            content, flags,
            propertyBuilder, mailboxId, ImmutableList.of());
}
 
源代码13 项目: james-project   文件: SimpleMessage.java
public SimpleMessage(MessageId messageId, SharedInputStream content, long size, Date internalDate, String subType, String mediaType, int bodyStartOctet, Long textualLineCount, List<Property> properties, List<MessageAttachmentMetadata> attachments, boolean hasAttachments) {
    this.messageId = messageId;
    this.subType = subType;
    this.mediaType = mediaType;
    this.content = content;
    this.bodyStartOctet = bodyStartOctet;
    this.internalDate = internalDate;
    this.size = size;
    this.textualLineCount = textualLineCount;
    this.properties = properties;
    this.attachments = attachments;
    this.hasAttachments = hasAttachments;
}
 
源代码14 项目: james-project   文件: MessageFactory.java
T createMessage(MessageId messageId, Mailbox mailbox, Date internalDate, int size, int bodyStartOctet,
SharedInputStream content, Flags flags, PropertyBuilder propertyBuilder,
List<MessageAttachmentMetadata> attachments) throws MailboxException;
 
源代码15 项目: james-project   文件: MessageStorer.java
private List<MessageAttachmentMetadata> storeAttachments(MessageId messageId, SharedInputStream messageContent, MailboxSession session) throws MailboxException {
    List<ParsedAttachment> attachments = extractAttachments(messageContent);
    return attachmentMapperFactory.getAttachmentMapper(session)
        .storeAttachmentsForMessage(attachments, messageId);
}
 
源代码16 项目: james-project   文件: MessageStorer.java
/**
 * If supported by the underlying implementation, this method will parse the messageContent to retrieve associated
 * attachments and will store them.
 *
 * Otherwize an empty optional will be returned on the right side of the pair.
 */
Pair<MessageMetaData, Optional<List<MessageAttachmentMetadata>>> appendMessageToStore(Mailbox mailbox, Date internalDate, int size, int bodyStartOctet, SharedInputStream content, Flags flags, PropertyBuilder propertyBuilder, MailboxSession session) throws MailboxException;
 
 类所在包
 类方法
 同包方法