196c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project/**************************************************************** 296c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * Licensed to the Apache Software Foundation (ASF) under one * 396c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * or more contributor license agreements. See the NOTICE file * 496c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * distributed with this work for additional information * 596c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * regarding copyright ownership. The ASF licenses this file * 696c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * to you under the Apache License, Version 2.0 (the * 796c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * "License"); you may not use this file except in compliance * 896c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * with the License. You may obtain a copy of the License at * 996c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * * 1096c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 * 1196c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * * 1296c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * Unless required by applicable law or agreed to in writing, * 1396c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * software distributed under the License is distributed on an * 1496c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * 1596c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * KIND, either express or implied. See the License for the * 1696c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * specific language governing permissions and limitations * 1796c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * under the License. * 1896c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project ****************************************************************/ 1996c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project 2096c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Projectpackage org.apache.james.mime4j.field.address; 2196c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project 2296c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project/** 2396c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * A Mailbox that has a name/description. 2496c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * 258546e21e1e127845071c595beda16fc23eb0f58eTodd Kennedy * 2696c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project */ 2796c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Projectpublic class NamedMailbox extends Mailbox { 2896c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project private String name; 2996c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project 3096c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project /** 3196c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * @see Mailbox#Mailbox(String, String) 3296c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project */ 3396c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project public NamedMailbox(String name, String localPart, String domain) { 3496c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project super(localPart, domain); 3596c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project this.name = name; 3696c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project } 3796c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project 3896c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project /** 3996c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * @see Mailbox#Mailbox(DomainList, String, String) 4096c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project */ 4196c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project public NamedMailbox(String name, DomainList route, String localPart, String domain) { 4296c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project super(route, localPart, domain); 4396c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project this.name = name; 4496c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project } 458546e21e1e127845071c595beda16fc23eb0f58eTodd Kennedy 4696c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project /** 478546e21e1e127845071c595beda16fc23eb0f58eTodd Kennedy * Creates a named mailbox based on an unnamed mailbox. 4896c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project */ 4996c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project public NamedMailbox(String name, Mailbox baseMailbox) { 5096c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project super(baseMailbox.getRoute(), baseMailbox.getLocalPart(), baseMailbox.getDomain()); 5196c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project this.name = name; 5296c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project } 5396c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project 5496c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project /** 558546e21e1e127845071c595beda16fc23eb0f58eTodd Kennedy * Returns the name of the mailbox. 5696c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project */ 5796c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project public String getName() { 5896c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project return this.name; 5996c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project } 608546e21e1e127845071c595beda16fc23eb0f58eTodd Kennedy 6196c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project /** 6296c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * Same features (or problems) as Mailbox.getAddressString(boolean), 6396c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * only more so. 648546e21e1e127845071c595beda16fc23eb0f58eTodd Kennedy * 658546e21e1e127845071c595beda16fc23eb0f58eTodd Kennedy * @see Mailbox#getAddressString(boolean) 6696c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project */ 678546e21e1e127845071c595beda16fc23eb0f58eTodd Kennedy @Override 6896c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project public String getAddressString(boolean includeRoute) { 6996c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project return (name == null ? "" : name + " ") + super.getAddressString(includeRoute); 7096c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project } 7196c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project} 72