View Javadoc

1   /*
2   * The contents of this file are subject to the BT "ZEUS" Open Source 
3   * Licence (L77741), Version 1.0 (the "Licence"); you may not use this file 
4   * except in compliance with the Licence. You may obtain a copy of the Licence
5   * from $ZEUS_INSTALL/licence.html or alternatively from
6   * http://www.labs.bt.com/projects/agents/zeus/licence.htm
7   * 
8   * Except as stated in Clause 7 of the Licence, software distributed under the
9   * Licence is distributed WITHOUT WARRANTY OF ANY KIND, either express or 
10  * implied. See the Licence for the specific language governing rights and 
11  * limitations under the Licence.
12  * 
13  * The Original Code is within the package zeus.*.
14  * The Initial Developer of the Original Code is British Telecommunications
15  * public limited company, whose registered office is at 81 Newgate Street, 
16  * London, EC1A 7AJ, England. Portions created by British Telecommunications 
17  * public limited company are Copyright 1996-9. All Rights Reserved.
18  * 
19  * THIS NOTICE MUST BE INCLUDED ON ANY COPY OF THIS FILE
20  */
21  
22  
23  
24  package zeus.concepts;
25  
26  import java.util.*;
27  import zeus.util.*;
28  
29  
30  public class Relationship {
31    protected String relation;
32    protected String name;
33  
34    protected Relationship() {
35    }
36  
37    public Relationship(Relationship data) {
38      setName(data.getName());
39      setRelation(data.getRelation());
40    }
41  
42    public Relationship(String name, String relation) {
43      setName(name);
44      setRelation(relation);
45    }
46  
47    public void setRelation( String name ) {
48      Assert.notNull(name);
49      relation = name;
50    }
51  
52    public void setName(String name) {
53       Assert.notNull(name);
54       this.name = name;
55    }
56  
57    public String getRelation()  { return relation; }
58    public String getName()      { return name; }
59  
60    public String toString() {
61      String s = new String("(");
62  
63      s += ":name " + name + " ";
64      s += ":relation " + relation + " ";
65  
66      s = s.trim() + ")";
67      return s;
68    }
69  
70    public String pprint() {
71      return pprint(0);
72    }
73  
74    public String pprint(int sp) {
75      String tabs = Misc.spaces(sp);
76      String eol  = "\n" + tabs + " ";
77  
78      String s = new String("(");
79      s += ":name " + name + eol;
80      s += ":relation " + relation + eol;
81  
82      return s.trim() + "\n" + tabs + ")";
83    }
84  }