当前位置: 首页>>代码示例>>Java>>正文


Java BodyDescriptor类代码示例

本文整理汇总了Java中org.apache.james.mime4j.stream.BodyDescriptor的典型用法代码示例。如果您正苦于以下问题:Java BodyDescriptor类的具体用法?Java BodyDescriptor怎么用?Java BodyDescriptor使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


BodyDescriptor类属于org.apache.james.mime4j.stream包,在下文中一共展示了BodyDescriptor类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getAttachmentNameFromDispositionParameters

import org.apache.james.mime4j.stream.BodyDescriptor; //导入依赖的package包/类
public static String getAttachmentNameFromDispositionParameters(BodyDescriptor bd) {
    //Refer RFC : 2047 for mime word decoding
    //Refer RFC : 2183 for Content-Disposition Header Field
    String attachmentName = null;
    if (bd instanceof MaximalBodyDescriptor) {
        attachmentName = getDecodedWord(((MaximalBodyDescriptor) bd).getContentDispositionFilename());
        if (StringUtils.isEmpty(attachmentName)) {
            //Handling case where RFC 2183 is not properly implemented by tech.blueglacier.email creating client.
            attachmentName = getDecodedWord(((MaximalBodyDescriptor) bd).getContentDispositionParameters().get("name"));
        }
        //Added case for supporting RFC 2184 'Parameter Value Character Set and Language Information' 
        // this is currently not supported in mime4j (version 0.7.2)
        if (StringUtils.isEmpty(attachmentName)) {
            attachmentName = getDecodedDispositionFileName(bd);
        }
    }
    return attachmentName;
}
 
开发者ID:ram-sharma-6453,项目名称:email-mime-parser,代码行数:19,代码来源:Common.java

示例2: shouldSetSequenceWithEachNewPart

import org.apache.james.mime4j.stream.BodyDescriptor; //导入依赖的package包/类
@Test
public void shouldSetSequenceWithEachNewPart() throws Exception{

    BodyDescriptor bodyMock = mock(BodyDescriptor.class);
    ByteArrayInputStream streamMock = new ByteArrayInputStream(new byte[] {});

    MessageContentExtractor extractor = new MessageContentExtractor();

    extractor.startHeader();
    extractor.body(bodyMock, streamMock);
    assertThat(getCurrentSequence(extractor)).containsExactly(1);

    extractor.startHeader();
    extractor.body(bodyMock, streamMock);
    assertThat(getCurrentSequence(extractor)).containsExactly(1, 2);

    extractor.startHeader();
    extractor.body(bodyMock, streamMock);
    assertThat(getCurrentSequence(extractor)).containsExactly(1, 2, 3);
}
 
开发者ID:SpartaSystems,项目名称:holdmail,代码行数:21,代码来源:MessageContentExtractorTest.java

示例3: body

import org.apache.james.mime4j.stream.BodyDescriptor; //导入依赖的package包/类
@Override
public void body(BodyDescriptor bd, InputStream is) throws MimeException,
        IOException {
    String r = "";
    byte[] buffer = new byte[200];
    String s;
    int len;
    try {
        while ((len = is.read(buffer)) != -1) {
            if (len != 200) {
                byte buffer2[] = new byte[len];
                System.arraycopy(buffer, 0, buffer2, 0, len);
                s = new String(buffer2);
            } else {
                s = new String(buffer);
            }
            if (s != null)
                r += s;
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    mailInfo.body = r;
    //System.out.println("body");
    //System.out.println(r);
}
 
开发者ID:linzeqipku,项目名称:SnowGraph,代码行数:27,代码来源:MboxHandler.java

示例4: startMultipart

import org.apache.james.mime4j.stream.BodyDescriptor; //导入依赖的package包/类
@Override
public void startMultipart(BodyDescriptor bd) throws MimeException {
    Part part = (Part) stack.peek();

    String mimeType = bd.getMimeType();
    String boundary = bd.getBoundary();

    MimeMultipart multipart = new MimeMultipart(mimeType, boundary);
    part.setBody(multipart);

    stack.push(multipart);
}
 
开发者ID:philipwhiuk,项目名称:q-mail,代码行数:13,代码来源:MimePartStreamParser.java

示例5: startMultipart

import org.apache.james.mime4j.stream.BodyDescriptor; //导入依赖的package包/类
@Override
public void startMultipart(BodyDescriptor bd) throws MimeException {
    expect(Part.class);

    Part e = (Part)stack.peek();
    String mimeType = bd.getMimeType();
    String boundary = bd.getBoundary();
    MimeMultipart multiPart = new MimeMultipart(mimeType, boundary);
    e.setBody(multiPart);
    stack.addFirst(multiPart);
}
 
开发者ID:philipwhiuk,项目名称:q-mail,代码行数:12,代码来源:MimeMessage.java

示例6: fillEmailContents

import org.apache.james.mime4j.stream.BodyDescriptor; //导入依赖的package包/类
public void fillEmailContents(BodyDescriptor bd, InputStream is){
	LOGGER.info("mime part received");
	if(addPlainTextEmailBody(bd,is)){}
	else if(addHTMLEmailBody(bd,is)){}
	else if(addCalendar(bd,is)){}
	else{
		addAttachments(bd,is);
	}
}
 
开发者ID:ram-sharma-6453,项目名称:email-mime-parser,代码行数:10,代码来源:Email.java

示例7: addCalendar

import org.apache.james.mime4j.stream.BodyDescriptor; //导入依赖的package包/类
private boolean addCalendar(BodyDescriptor bd, InputStream is) {
	boolean isBodySet = false;
	BodyDescriptor calendarBodyDescriptor = bd;
	if(calendarBody == null){
		if(isCalendarBody(calendarBodyDescriptor)){
			calendarBody = new CalendarBody(bd,is);
			isBodySet = true;
			LOGGER.info("Email calendar body identified");
		}
	}
	
	return isBodySet;
}
 
开发者ID:ram-sharma-6453,项目名称:email-mime-parser,代码行数:14,代码来源:Email.java

示例8: addHTMLEmailBody

import org.apache.james.mime4j.stream.BodyDescriptor; //导入依赖的package包/类
private boolean addHTMLEmailBody(BodyDescriptor bd, InputStream is) {
	boolean isBodySet = false;
	BodyDescriptor emailHTMLBodyDescriptor = bd;
	if(htmlEmailBody == null){
		if(isHTMLBody(emailHTMLBodyDescriptor)){
			htmlEmailBody = new HtmlEmailBody(bd,is);
			isBodySet = true;
			LOGGER.info("Email html body identified");
		}
	}else{
		if(isHTMLBody(emailHTMLBodyDescriptor)){
			if(multipartStack.peek().getBodyDescriptor().getMimeType().equalsIgnoreCase("multipart/mixed")){
				InputStream mainInputStream;
				try {
					mainInputStream = concatInputStream(is, htmlEmailBody.getIs());
				} catch (IOException e) {
					throw new RuntimeException(e);
				}
				htmlEmailBody.setIs(mainInputStream);
			}else{
				addAttachments(new HtmlEmailBody(bd,is));
			}
			isBodySet = true;
		}
	}		
	return isBodySet;
}
 
开发者ID:ram-sharma-6453,项目名称:email-mime-parser,代码行数:28,代码来源:Email.java

示例9: addPlainTextEmailBody

import org.apache.james.mime4j.stream.BodyDescriptor; //导入依赖的package包/类
private boolean addPlainTextEmailBody(BodyDescriptor bd, InputStream is) {
	boolean isBodySet = false;
	BodyDescriptor emailPlainBodyDescriptor = bd;
	if(plainTextEmailBody == null){
		if(isPlainTextBody(emailPlainBodyDescriptor)){
			plainTextEmailBody = new PlainTextEmailBody(bd,is);
			isBodySet = true;
			LOGGER.info("Email plain text body identified");
		}
	}else{
		if(isPlainTextBody(emailPlainBodyDescriptor)){
			if(multipartStack.peek().getBodyDescriptor().getMimeType().equalsIgnoreCase("multipart/mixed")){
				InputStream mainInputStream;
				try {
					mainInputStream = concatInputStream(is,plainTextEmailBody.getIs());
				} catch (IOException e) {
					throw new RuntimeException(e);
				}
				plainTextEmailBody.setIs(mainInputStream);
			}else{
				addAttachments(new PlainTextEmailBody(bd,is));
			}
			isBodySet = true;
		}
	}		
	return isBodySet;
}
 
开发者ID:ram-sharma-6453,项目名称:email-mime-parser,代码行数:28,代码来源:Email.java

示例10: body

import org.apache.james.mime4j.stream.BodyDescriptor; //导入依赖的package包/类
@Override
public void body(BodyDescriptor bd, InputStream is) throws MimeException, IOException {
	// Gracefully switiching off the case of tech.blueglacier.email attached within an tech.blueglacier.email
	if(email.getMessageStack().peek().getEmailMessageTypeHierarchy() == EmailMessageTypeHierarchy.parent){
	email.fillEmailContents(bd, is);
}
}
 
开发者ID:ram-sharma-6453,项目名称:email-mime-parser,代码行数:8,代码来源:CustomContentHandler.java

示例11: getDecodedDispositionFileName

import org.apache.james.mime4j.stream.BodyDescriptor; //导入依赖的package包/类
private static String getDecodedDispositionFileName(BodyDescriptor bd){
	String attachmentName = null;
	try {
		attachmentName = ContentDispositionDecoder.decodeDispositionFileName(((MaximalBodyDescriptor)bd).getContentDispositionParameters());
	} catch (MimeException e) {
		throw new RuntimeException(e);
	}
	return attachmentName;
}
 
开发者ID:ram-sharma-6453,项目名称:email-mime-parser,代码行数:10,代码来源:Common.java

示例12: getAttachmentNameFromContentTypeParmaeters

import org.apache.james.mime4j.stream.BodyDescriptor; //导入依赖的package包/类
public static String getAttachmentNameFromContentTypeParmaeters(BodyDescriptor bd) {
	String attachmentName = null;
	if(bd instanceof MaximalBodyDescriptor){
		Map<String, String> contentTypeParameters = ((MaximalBodyDescriptor)bd).getContentTypeParameters();
		String nameKey = null;
		if(contentTypeParameters.containsKey(nameKey = "name") || contentTypeParameters.containsKey(nameKey = "NAME")
				|| contentTypeParameters.containsKey(nameKey = "Name")){
			attachmentName = contentTypeParameters.get(nameKey);
		}
		attachmentName = getDecodedWord(attachmentName);
	}
	return attachmentName;
}
 
开发者ID:ram-sharma-6453,项目名称:email-mime-parser,代码行数:14,代码来源:Common.java

示例13: getAttachmentName

import org.apache.james.mime4j.stream.BodyDescriptor; //导入依赖的package包/类
public static String getAttachmentName(BodyDescriptor bd){		
	// Content tech.blueglacier.disposition 'filename' is more standard, so it's taken as default first
	String attachmentName = Common.getAttachmentNameFromDispositionParameters(bd);
	if(attachmentName == null || attachmentName.isEmpty()){			
		// Content type 'name' is other alternative so it's taken as alternative too
		attachmentName = Common.getAttachmentNameFromContentTypeParmaeters(bd);			
	}		
	return attachmentName;		
}
 
开发者ID:ram-sharma-6453,项目名称:email-mime-parser,代码行数:10,代码来源:Common.java

示例14: startMultipart

import org.apache.james.mime4j.stream.BodyDescriptor; //导入依赖的package包/类
public void startMultipart(BodyDescriptor bd) {
    expect(Part.class);

    Part e = (Part)stack.peek();
    try {
        MimeMultipart multiPart = new MimeMultipart(e.getContentType());
        e.setBody(multiPart);
        stack.addFirst(multiPart);
    } catch (MessagingException me) {
        throw new Error(me);
    }
}
 
开发者ID:daxslab,项目名称:daxSmail,代码行数:13,代码来源:MimeMessage.java

示例15: startMultipart

import org.apache.james.mime4j.stream.BodyDescriptor; //导入依赖的package包/类
/**
 * @see org.apache.james.mime4j.parser.ContentHandler#startMultipart(org.apache.james.mime4j.stream.BodyDescriptor)
 */
public void startMultipart(final BodyDescriptor bd) throws MimeException {
    expect(Entity.class);

    final Entity e = (Entity) stack.peek();
    final String subType = bd.getSubType();
    final Multipart multiPart = new MultipartImpl(subType);
    e.setBody(multiPart);
    stack.push(multiPart);
}
 
开发者ID:QSFT,项目名称:MimeUI,代码行数:13,代码来源:MimeUIEntityBuilder.java


注:本文中的org.apache.james.mime4j.stream.BodyDescriptor类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。