1bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook/**************************************************************** 2bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * Licensed to the Apache Software Foundation (ASF) under one * 3bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * or more contributor license agreements. See the NOTICE file * 4bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * distributed with this work for additional information * 5bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * regarding copyright ownership. The ASF licenses this file * 6bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * to you under the Apache License, Version 2.0 (the * 7bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * "License"); you may not use this file except in compliance * 8bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * with the License. You may obtain a copy of the License at * 9bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * * 10bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * http://www.apache.org/licenses/LICENSE-2.0 * 11bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * * 12bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * Unless required by applicable law or agreed to in writing, * 13bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * software distributed under the License is distributed on an * 14bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * 15bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * KIND, either express or implied. See the License for the * 16bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * specific language governing permissions and limitations * 17bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * under the License. * 18bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook ****************************************************************/ 19bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 20bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrookpackage org.apache.james.mime4j.field.address; 21bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 22bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook/** 23bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * A Mailbox that has a name/description. 24bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * 25bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * 26bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook */ 27bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrookpublic class NamedMailbox extends Mailbox { 28bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook private String name; 29bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 30bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook /** 31bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * @see Mailbox#Mailbox(String, String) 32bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook */ 33bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public NamedMailbox(String name, String localPart, String domain) { 34bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook super(localPart, domain); 35bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook this.name = name; 36bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 37bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 38bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook /** 39bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * @see Mailbox#Mailbox(DomainList, String, String) 40bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook */ 41bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public NamedMailbox(String name, DomainList route, String localPart, String domain) { 42bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook super(route, localPart, domain); 43bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook this.name = name; 44bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 45bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 46bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook /** 47bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * Creates a named mailbox based on an unnamed mailbox. 48bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook */ 49bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public NamedMailbox(String name, Mailbox baseMailbox) { 50bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook super(baseMailbox.getRoute(), baseMailbox.getLocalPart(), baseMailbox.getDomain()); 51bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook this.name = name; 52bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 53bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 54bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook /** 55bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * Returns the name of the mailbox. 56bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook */ 57bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public String getName() { 58bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook return this.name; 59bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 60bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 61bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook /** 62bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * Same features (or problems) as Mailbox.getAddressString(boolean), 63bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * only more so. 64bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * 65bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * @see Mailbox#getAddressString(boolean) 66bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook */ 67bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook @Override 68bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public String getAddressString(boolean includeRoute) { 69bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook return (name == null ? "" : name + " ") + super.getAddressString(includeRoute); 70bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 71bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook} 72