001 /* 002 * Copyright 2010 the original author or authors. 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 package com.hs.mail.imap.processor.fetch; 017 018 import java.util.List; 019 020 /** 021 * This class represents a BODYSTRUCTURE. 022 * 023 * @author Won Chul Doh 024 * @since Mar 8, 2010 025 * 026 */ 027 public class MimeDescriptor { 028 029 private long bodyOctets; // Size in bytes 030 private long lines; // Size in lines 031 private String type; // Type 032 private String subType; // Subtype 033 private String Id; // Content-ID 034 private String description; // Content-Description 035 private String encoding; // Encoding 036 private List<String> parameters; // Body parameters 037 private String disposition; // Disposition 038 private List<String> dispositionParams; // Disposition parameters 039 private List<String> languages; // Language 040 private String location; // Location 041 private String md5; // MD-5 checksum 042 private List<MimeDescriptor> parts; // For multipart & message/rfc822 043 private MimeDescriptor embeddedMessageDescriptor; // For message/rfc822 044 private Envelope envelope; // For message/rfc822 045 046 public MimeDescriptor(long bodyOctets, long lines, String type, 047 String subType, String Id, String description, String encoding, 048 List<String> parameters, String disposition, 049 List<String> dispositionParams, List<String> languages, 050 String location, String md5, List<MimeDescriptor> parts, 051 MimeDescriptor embeddedMessageDescriptor, Envelope envelope) { 052 super(); 053 this.bodyOctets = bodyOctets; 054 this.lines = lines; 055 this.type = type; 056 this.subType = subType; 057 this.Id = Id; 058 this.description = description; 059 this.encoding = encoding; 060 this.parameters = parameters; 061 this.disposition = disposition; 062 this.dispositionParams = dispositionParams; 063 this.languages = languages; 064 this.location = location; 065 this.md5 = md5; 066 this.parts = parts; 067 setEmbeddedMessageDescriptor(embeddedMessageDescriptor); 068 setEnvelope(envelope); 069 } 070 071 public long getBodyOctets() { 072 return bodyOctets; 073 } 074 075 public long getLines() { 076 return lines; 077 } 078 079 public String getType() { 080 return type; 081 } 082 083 public String getSubType() { 084 return subType; 085 } 086 087 public String getId() { 088 return Id; 089 } 090 091 public String getDescription() { 092 return description; 093 } 094 095 public String getEncoding() { 096 return encoding; 097 } 098 099 public List<String> getParameters() { 100 return parameters; 101 } 102 103 public String getDisposition() { 104 return disposition; 105 } 106 107 public List<String> getDispositionParams() { 108 return dispositionParams; 109 } 110 111 public List<String> getLanguages() { 112 return languages; 113 } 114 115 public String getLocation() { 116 return location; 117 } 118 119 public String getMd5() { 120 return md5; 121 } 122 123 public List<MimeDescriptor> getParts() { 124 return parts; 125 } 126 127 public void addPart(MimeDescriptor part) { 128 parts.add(part); 129 } 130 131 public MimeDescriptor getEmbeddedMessageDescriptor() { 132 return embeddedMessageDescriptor; 133 } 134 135 public void setEmbeddedMessageDescriptor( 136 MimeDescriptor embeddedMessageDescriptor) { 137 this.embeddedMessageDescriptor = embeddedMessageDescriptor; 138 } 139 140 public Envelope getEnvelope() { 141 return envelope; 142 } 143 144 public void setEnvelope(Envelope envelope) { 145 this.envelope = envelope; 146 } 147 148 }