View Javadoc

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