View Javadoc

1   package rydeen.utils;
2   
3   import java.io.Serializable;
4   
5   /**
6    * 著者情報を表すためのクラスです.
7    * 
8    * @author Haruaki Tamada
9    */
10  public class Author implements Serializable{
11      private static final long serialVersionUID = -1102911800329646249L;
12  
13      private String name;
14      private String email;
15  
16      /**
17       * <p>
18       * 名前とメールアドレスを指定し,オブジェクトを構築します.
19       * </p><p>
20       * 名前がnullの場合はNullPointerExceptionが投げられます.
21       * 電子メールがnullの場合はgetEmailがnullを返すようになります.
22       * </p>
23       */
24      public Author(String name, String email){
25          if(name == null){
26              throw new NullPointerException();
27          }
28          this.name = name;
29          this.email = email;
30      }
31  
32      /**
33       * <p>
34       * 名前を指定し,オブジェクトを構築します.
35       * </p><p>
36       * 名前がnullの場合はNullPointerExceptionが投げられます.
37       * </p><p>
38       */
39      public Author(String name){
40          this(name, null);
41      }
42  
43      /**
44       * 著者の名前を返します.
45       */
46      public String getName(){
47          return name;
48      }
49  
50      /**
51       * 著者のメールアドレスを返します.
52       * 設定されていない場合はnullを返します.
53       */
54      public String getEmail(){
55          return email;
56      }
57  
58      /**
59       * 著者情報の文字列表現を返します.
60       */
61      @Override
62      public String toString(){
63          StringBuilder sb = new StringBuilder();
64          sb.append(getName());
65          if(getEmail() != null){
66              sb.append(" <").append(getEmail()).append(">");
67          }
68          return new String(sb);
69      }
70  }