001: /**********************************************************************************
002: * $URL: https://source.sakaiproject.org/svn/profile/tags/sakai_2-4-1/edu-person-api/src/java/org/sakaiproject/api/common/edu/person/Person.java $
003: * $Id: Person.java 8424 2006-04-27 20:23:44Z ggolden@umich.edu $
004: ***********************************************************************************
005: *
006: * Copyright (c) 2003, 2004, 2005, 2006 The Sakai Foundation.
007: *
008: * Licensed under the Educational Community License, Version 1.0 (the "License");
009: * you may not use this file except in compliance with the License.
010: * You may obtain a copy of the License at
011: *
012: * http://www.opensource.org/licenses/ecl1.php
013: *
014: * Unless required by applicable law or agreed to in writing, software
015: * distributed under the License is distributed on an "AS IS" BASIS,
016: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
017: * See the License for the specific language governing permissions and
018: * limitations under the License.
019: *
020: **********************************************************************************/package org.sakaiproject.api.common.edu.person;
021:
022: import org.sakaiproject.api.common.manager.Persistable;
023:
024: /**
025: * See ITU X.521 spec.
026: *
027: * @author <a href="mailto:lance@indiana.edu">Lance Speelmon </a>
028: */
029: public interface Person extends Persistable {
030: /**
031: * @return The UUID of the Agent for which this record describes.
032: */
033: public String getAgentUuid();
034:
035: /**
036: * @param agentUuid
037: * The UUID of the Agent for which this record describes.
038: */
039: public void setAgentUuid(String agentUuid);
040:
041: /**
042: * @return
043: */
044: public String getTypeUuid();
045:
046: /**
047: * @param typeUuid
048: */
049: public void setTypeUuid(String typeUuid);
050:
051: /**
052: * Common name. According to RFC 2256, "This is the X.500 commonName attribute, which contains a name of an object. If the object corresponds to a person, it is typically the person's full name.”
053: *
054: * @return
055: */
056: public String getCommonName();
057:
058: /**
059: * Common name. According to RFC 2256, "This is the X.500 commonName attribute, which contains a name of an object. If the object corresponds to a person, it is typically the person's full name.”
060: */
061: public void setCommonName(String commonName);
062:
063: /**
064: * Open-ended; whatever the person or the directory manager puts here. According to RFC 2256, "This attribute contains a human-readable description of the object."
065: *
066: * @return
067: */
068: public String getDescription();
069:
070: /**
071: * Open-ended; whatever the person or the directory manager puts here. According to RFC 2256, "This attribute contains a human-readable description of the object."
072: */
073: public void setDescription(String description);
074:
075: /**
076: * Follow person object class definition: Identifies (by DN) another directory server entry that may contain information related to this entry.
077: * <p>
078: * According to X.520(2000), "The See Also attribute type specifies names of other Directory objects which may be other aspects (in some sense) of the same real world object."
079: *
080: * @return
081: */
082: public String getSeeAlso();
083:
084: /**
085: * Follow person object class definition: Identifies (by DN) another directory server entry that may contain information related to this entry.
086: * <p>
087: * According to X.520(2000), "The See Also attribute type specifies names of other Directory objects which may be other aspects (in some sense) of the same real world object."
088: *
089: * @return
090: */
091: public void setSeeAlso(String seeAlso);
092:
093: /**
094: * Surname or family name. According to RFC 2256, "This is the X.500 surname attribute, which contains the family name of a person."
095: *
096: * @return
097: */
098: public String getSurname();
099:
100: /**
101: * Surname or family name. According to RFC 2256, "This is the X.500 surname attribute, which contains the family name of a person."
102: */
103: public void setSurname(String surname);
104:
105: /**
106: * According to RFC 2256, "This attribute contains the physical address of the object to which the entry corresponds, such as an address for package delivery (streetAddress)."
107: *
108: * @return
109: */
110: public String getStreet();
111:
112: /**
113: * According to RFC 2256, "This attribute contains the physical address of the object to which the entry corresponds, such as an address for package delivery (streetAddress)."
114: *
115: * @return
116: */
117: public void setStreet(String street);
118:
119: /**
120: * Office/campus phone number. Attribute values should follow the agreed format for international telephone numbers: i.e., "+44 71 123 4567."
121: *
122: * @return
123: */
124: public String getTelephoneNumber();
125:
126: /**
127: * Office/campus phone number. Attribute values should follow the agreed format for international telephone numbers: i.e., "+44 71 123 4567."
128: *
129: * @return
130: */
131: public void setTelephoneNumber(String telephoneNumber);
132:
133: /*
134: * This seems too danegrous to expose. // public String getUserPassword();
135: */
136: }
|