001/**************************************************************** 002 * Licensed to the Apache Software Foundation (ASF) under one * 003 * or more contributor license agreements. See the NOTICE file * 004 * distributed with this work for additional information * 005 * regarding copyright ownership. The ASF licenses this file * 006 * to you under the Apache License, Version 2.0 (the * 007 * "License"); you may not use this file except in compliance * 008 * with the License. You may obtain a copy of the License at * 009 * * 010 * http://www.apache.org/licenses/LICENSE-2.0 * 011 * * 012 * Unless required by applicable law or agreed to in writing, * 013 * software distributed under the License is distributed on an * 014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * 015 * KIND, either express or implied. See the License for the * 016 * specific language governing permissions and limitations * 017 * under the License. * 018 ****************************************************************/ 019 020package org.apache.james.user.lib.model; 021 022import org.apache.james.user.api.model.JamesUser; 023import org.apache.mailet.MailAddress; 024 025/** 026 * Implementation of User Interface. 027 * 028 * @deprecated Use {@link DefaultUser} 029 */ 030@Deprecated 031public class DefaultJamesUser extends DefaultUser implements JamesUser { 032 033 private static final long serialVersionUID = 6323959976390389529L; 034 035 /** 036 * Whether forwarding is enabled for this user. 037 */ 038 private boolean forwarding; 039 040 /** 041 * The mail address to which this user's email is forwarded. 042 */ 043 private MailAddress forwardingDestination; 044 045 /** 046 * Is this user an alias for another username on the system. 047 */ 048 private boolean aliasing; 049 050 /** 051 * The user name that this user name is aliasing. 052 */ 053 private String alias; 054 055 public DefaultJamesUser(String name, String alg) { 056 super(name, alg); 057 initialize(); 058 } 059 060 public DefaultJamesUser(String name, String passwordHash, String hashAlg) { 061 super(name, passwordHash, hashAlg); 062 initialize(); 063 } 064 065 /** 066 * Initializes default values for local fields. 067 */ 068 public void initialize() { 069 forwarding = false; 070 forwardingDestination = null; 071 aliasing = false; 072 alias = ""; 073 } 074 075 /** 076 * @see org.apache.james.user.api.model.JamesUser#setForwarding(boolean) 077 */ 078 public void setForwarding(boolean forward) { 079 forwarding = forward; 080 } 081 082 /** 083 * @see org.apache.james.user.api.model.JamesUser#getForwarding() 084 */ 085 public boolean getForwarding() { 086 return forwarding; 087 } 088 089 /** 090 * @see org.apache.james.user.api.model.JamesUser#setForwardingDestination(org.apache.mailet.MailAddress) 091 */ 092 public boolean setForwardingDestination(MailAddress address) { 093 /* TODO: Some verification would be good */ 094 forwardingDestination = address; 095 return true; 096 } 097 098 /** 099 * @see org.apache.james.user.api.model.JamesUser#getForwardingDestination() 100 */ 101 public MailAddress getForwardingDestination() { 102 return forwardingDestination; 103 } 104 105 /** 106 * @see org.apache.james.user.api.model.JamesUser#setAliasing(boolean) 107 */ 108 public void setAliasing(boolean alias) { 109 aliasing = alias; 110 } 111 112 /** 113 * @see org.apache.james.user.api.model.JamesUser#getAliasing() 114 */ 115 public boolean getAliasing() { 116 return aliasing; 117 } 118 119 /** 120 * @see org.apache.james.user.api.model.JamesUser#setAlias(java.lang.String) 121 */ 122 public boolean setAlias(String address) { 123 /* TODO: Some verification would be good */ 124 alias = address; 125 return true; 126 } 127 128 /** 129 * @see org.apache.james.user.api.model.JamesUser#getAlias() 130 */ 131 public String getAlias() { 132 return alias; 133 } 134}