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