View Javadoc

    1   /*
    2    * $Id: MemorySubscription.java 471754 2006-11-06 14:55:09Z husted $
    3    *
    4    * Licensed to the Apache Software Foundation (ASF) under one
    5    * or more contributor license agreements.  See the NOTICE file
    6    * distributed with this work for additional information
    7    * regarding copyright ownership.  The ASF licenses this file
    8    * to you under the Apache License, Version 2.0 (the
    9    * "License"); you may not use this file except in compliance
    10   * with the License.  You may obtain a copy of the License at
    11   *
    12   *  http://www.apache.org/licenses/LICENSE-2.0
    13   *
    14   * Unless required by applicable law or agreed to in writing,
    15   * software distributed under the License is distributed on an
    16   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    17   * KIND, either express or implied.  See the License for the
    18   * specific language governing permissions and limitations
    19   * under the License.
    20   */
    21
    22
    23  package org.apache.struts.webapp.example2.memory;
    24
    25
    26  import org.apache.struts.webapp.example2.Subscription;
    27  import org.apache.struts.webapp.example2.User;
    28
    29
    30  /**
    31   * <p>Concrete implementation of {@link Subscription} for an in-memory
    32   * database backed by an XML data file.</p>
    33   *
    34   * @author Craig R. McClanahan
    35   * @version $Rev: 471754 $ $Date: 2006-11-06 08:55:09 -0600 (Mon, 06 Nov 2006) $
    36   * @since Struts 1.1
    37   */
    38
    39  public final class MemorySubscription implements Subscription {
    40
    41
    42      // ----------------------------------------------------------- Constructors
    43
    44
    45      /**
    46       * <p>Construct a new Subscription associated with the specified
    47       * {@link User}.
    48       *
    49       * @param user The user with which we are associated
    50       * @param host The mail host for this subscription
    51       */
    52      public MemorySubscription(MemoryUser user, String host) {
    53
    54          super();
    55          this.user = user;
    56          this.host = host;
    57
    58      }
    59
    60
    61      // ----------------------------------------------------- Instance Variables
    62
    63
    64      /**
    65       * The mail host for this subscription.
    66       */
    67      private String host = null;
    68
    69
    70      /**
    71       * The {@link User} with which we are associated.
    72       */
    73      private MemoryUser user = null;
    74
    75
    76      // ------------------------------------------------------------- Properties
    77
    78
    79      /**
    80       * Should we auto-connect at startup time?
    81       */
    82      private boolean autoConnect = false;
    83
    84      public boolean getAutoConnect() {
    85          return (this.autoConnect);
    86      }
    87
    88      public void setAutoConnect(boolean autoConnect) {
    89          this.autoConnect = autoConnect;
    90      }
    91
    92
    93      /**
    94       * The mail host for this subscription.
    95       */
    96      public String getHost() {
    97          return (this.host);
    98      }
    99
    100
    101     /**
    102      * The password (in clear text) for this subscription.
    103      */
    104     private String password = null;
    105
    106     public String getPassword() {
    107         return (this.password);
    108     }
    109
    110     public void setPassword(String password) {
    111         this.password = password;
    112     }
    113
    114
    115     /**
    116      * The subscription type ("imap" or "pop3").
    117      */
    118     private String type = "imap";
    119
    120     public String getType() {
    121         return (this.type);
    122     }
    123
    124     public void setType(String type) {
    125         this.type = type;
    126     }
    127
    128
    129     /**
    130      * The User owning this Subscription.
    131      */
    132     public User getUser() {
    133         return (this.user);
    134     }
    135
    136
    137     /**
    138      * The username for this subscription.
    139      */
    140     private String username = null;
    141
    142     public String getUsername() {
    143         return (this.username);
    144     }
    145
    146     public void setUsername(String username) {
    147         this.username = username;
    148     }
    149
    150
    151     // --------------------------------------------------------- Public Methods
    152
    153
    154     /**
    155      * Return a String representation of this object.
    156      */
    157     public String toString() {
    158
    159         StringBuffer sb = new StringBuffer("<subscription host=\"");
    160         sb.append(host);
    161         sb.append("\" autoConnect=\"");
    162         sb.append(autoConnect);
    163         sb.append("\"");
    164         if (password != null) {
    165             sb.append(" password=\"");
    166             sb.append(password);
    167             sb.append("\"");
    168         }
    169         if (type != null) {
    170             sb.append(" type=\"");
    171             sb.append(type);
    172             sb.append("\"");
    173         }
    174         if (username != null) {
    175             sb.append(" username=\"");
    176             sb.append(username);
    177             sb.append("\"");
    178         }
    179         sb.append(">");
    180         return (sb.toString());
    181
    182     }
    183
    184
    185 }