14ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira/**************************************************************** 24ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * Licensed to the Apache Software Foundation (ASF) under one * 34ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * or more contributor license agreements. See the NOTICE file * 44ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * distributed with this work for additional information * 54ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * regarding copyright ownership. The ASF licenses this file * 64ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * to you under the Apache License, Version 2.0 (the * 74ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * "License"); you may not use this file except in compliance * 84ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * with the License. You may obtain a copy of the License at * 94ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * * 104ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * http://www.apache.org/licenses/LICENSE-2.0 * 114ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * * 124ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * Unless required by applicable law or agreed to in writing, * 134ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * software distributed under the License is distributed on an * 144ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * 154ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * KIND, either express or implied. See the License for the * 164ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * specific language governing permissions and limitations * 174ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * under the License. * 184ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira ****************************************************************/ 194ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 204ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereirapackage org.apache.james.mime4j.field.address; 214ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 224ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira/** 234ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * A Mailbox that has a name/description. 244ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * 254ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * 264ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira */ 274ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereirapublic class NamedMailbox extends Mailbox { 284ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira private String name; 294ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 304ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira /** 314ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * @see Mailbox#Mailbox(String, String) 324ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira */ 334ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public NamedMailbox(String name, String localPart, String domain) { 344ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira super(localPart, domain); 354ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira this.name = name; 364ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 374ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 384ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira /** 394ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * @see Mailbox#Mailbox(DomainList, String, String) 404ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira */ 414ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public NamedMailbox(String name, DomainList route, String localPart, String domain) { 424ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira super(route, localPart, domain); 434ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira this.name = name; 444ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 454ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 464ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira /** 474ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * Creates a named mailbox based on an unnamed mailbox. 484ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira */ 494ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public NamedMailbox(String name, Mailbox baseMailbox) { 504ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira super(baseMailbox.getRoute(), baseMailbox.getLocalPart(), baseMailbox.getDomain()); 514ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira this.name = name; 524ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 534ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 544ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira /** 554ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * Returns the name of the mailbox. 564ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira */ 574ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public String getName() { 584ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira return this.name; 594ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 604ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 614ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira /** 624ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * Same features (or problems) as Mailbox.getAddressString(boolean), 634ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * only more so. 644ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * 654ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * @see Mailbox#getAddressString(boolean) 664ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira */ 674ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira @Override 684ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public String getAddressString(boolean includeRoute) { 694ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira return (name == null ? "" : name + " ") + super.getAddressString(includeRoute); 704ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 714ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira} 72