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/InetOrgPerson.java $
003: * $Id: InetOrgPerson.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 java.io.BufferedInputStream;
023: import java.io.BufferedOutputStream;
024:
025: /**
026: * See RFC 2798.
027: *
028: * @author <a href="mailto:lance@indiana.edu">Lance Speelmon </a>
029: */
030: public interface InetOrgPerson extends OrganizationalPerson {
031: /**
032: * RFC 1274 notes that the proprietary format they recommend is "interim" only.
033: *
034: * @return
035: */
036: public BufferedInputStream getAudio();
037:
038: /**
039: * RFC 1274 notes that the proprietary format they recommend is "interim" only.
040: */
041: public void setAudio(BufferedOutputStream audio);
042:
043: /**
044: * The name(s) that should appear in white-pages-like applications for this person. From RFC 2798 description: "preferred name of a person to be used when displaying entries."
045: *
046: * @return
047: */
048: public String getDisplayName();
049:
050: /**
051: * The name(s) that should appear in white-pages-like applications for this person. From RFC 2798 description: "preferred name of a person to be used when displaying entries."
052: *
053: * @return
054: */
055: public void setDisplayName(String displayName);
056:
057: /**
058: * From RFC 2256 description:" The givenName attribute is used to hold the part of a person's name which is not their surname nor middle name."
059: *
060: * @return
061: */
062: public String getGivenName();
063:
064: /**
065: * From RFC 2256 description:" The givenName attribute is used to hold the part of a person's name which is not their surname nor middle name."
066: *
067: * @return
068: */
069: public void setGivenName(String givenName);
070:
071: /**
072: * From RFC 1274 description: "The [homePhone] attribute type specifies a home telephone number associated with a person.” Attribute values should follow the agreed format for international telephone numbers: i.e., "+44 71 123 4567."
073: *
074: * @return
075: */
076: public String getHomePhone();
077:
078: /**
079: * From RFC 1274 description: "The [homePhone] attribute type specifies a home telephone number associated with a person.” Attribute values should follow the agreed format for international telephone numbers: i.e., "+44 71 123 4567."
080: *
081: * @return
082: */
083: public void setHomePhone(String homePhone);
084:
085: /**
086: * From RFC 1274 description: "The Home postal address attribute type specifies a home postal address for an object. This should be limited to up to 6 lines of 30 characters each."
087: *
088: * @return
089: */
090: public String getHomePostalAddress();
091:
092: /**
093: * From RFC 1274 description: "The Home postal address attribute type specifies a home postal address for an object. This should be limited to up to 6 lines of 30 characters each."
094: *
095: * @return
096: */
097: public void setHomePostalAddress(String homePostalAddress);
098:
099: /**
100: * From RFC 2256 description: "The initials attribute contains the initials of some or all of an individuals names, but not the surname(s)."
101: *
102: * @return
103: */
104: public String getInitials();
105:
106: /**
107: * From RFC 2256 description: "The initials attribute contains the initials of some or all of an individuals names, but not the surname(s)."
108: *
109: * @return
110: */
111: public void setInitials(String initials);
112:
113: /**
114: * Follow inetOrgPerson definition of RFC 2798: "Used to store one or more images of a person using the JPEG File Interchange Format [JFIF]."
115: *
116: * @return
117: */
118: public byte[] getJpegPhoto();
119:
120: /**
121: * Follow inetOrgPerson definition of RFC 2798: "Used to store one or more images of a person using the JPEG File Interchange Format [JFIF]."
122: *
123: * @return
124: */
125: public void setJpegPhoto(byte[] jpegPhoto);
126:
127: /**
128: * Follow inetOrgPerson definition of RFC 2079: "Uniform Resource Identifier with optional label."
129: * <p>
130: * Most commonly a URL for a web site associated with this person.
131: *
132: * @return
133: */
134: public String getLabeledURI();
135:
136: /**
137: * Follow inetOrgPerson definition of RFC 2079: "Uniform Resource Identifier with optional label."
138: * <p>
139: * Most commonly a URL for a web site associated with this person.
140: */
141: public void setLabeledURI(String labeledURI);
142:
143: /**
144: * Follow inetOrgPerson definition of RFC 1274: "The [mail] attribute type specifies an electronic mailbox attribute following the syntax specified in RFC 822. Note that this attribute should not be used for greybook or other non-Internet order
145: * mailboxes."
146: *
147: * @return
148: */
149: public String getMail();
150:
151: /**
152: * Follow inetOrgPerson definition of RFC 1274: "The [mail] attribute type specifies an electronic mailbox attribute following the syntax specified in RFC 822. Note that this attribute should not be used for greybook or other non-Internet order
153: * mailboxes."
154: *
155: * @return
156: */
157: public void setMail(String mail);
158:
159: /**
160: * Follow inetOrgPerson definition which refers to RFC 1274: "The manager attribute type specifies the manager of an object represented by an entry." The value is a DN.
161: *
162: * @return
163: */
164: public String getManager();
165:
166: /**
167: * Follow inetOrgPerson definition which refers to RFC 1274: "The manager attribute type specifies the manager of an object represented by an entry." The value is a DN.
168: *
169: * @return
170: */
171: public void setManager(String manager);
172:
173: /**
174: * Follow inetOrgPerson definition of RFC 1274: "The [mobile] attribute type specifies a mobile telephone number associated with a person. Attribute values should follow the agreed format for international telephone numbers: i.e., "+44 71 123 4567."
175: *
176: * @return
177: */
178: public String getMobile();
179:
180: /**
181: * Follow inetOrgPerson definition of RFC 1274: "The [mobile] attribute type specifies a mobile telephone number associated with a person. Attribute values should follow the agreed format for international telephone numbers: i.e., "+44 71 123 4567."
182: *
183: * @return
184: */
185: public void setMobile(String mobile);
186:
187: /**
188: * Standard name of the top-level organization (institution) with which this person is associated.
189: *
190: * @return
191: */
192: public String getOrganization();
193:
194: /**
195: * Standard name of the top-level organization (institution) with which this person is associated.
196: */
197: public void setOrganization(String organization);
198:
199: /**
200: * Follow inetOrgPerson definition of RFC 1274: "The [pager] attribute type specifies a pager telephone number for an object. Attribute values should follow the agreed format for international telephone numbers: i.e., "+44 71 123 4567."
201: *
202: * @return
203: */
204: public String getPager();
205:
206: /**
207: * Follow inetOrgPerson definition of RFC 1274: "The [pager] attribute type specifies a pager telephone number for an object. Attribute values should follow the agreed format for international telephone numbers: i.e., "+44 71 123 4567."
208: *
209: * @return
210: */
211: public void setPager(String pager);
212:
213: /**
214: * Follow inetOrgPerson definition of RFC 2798: "preferred written or spoken language for a person.”
215: * <p>
216: * See RFC2068 and ISO 639 for allowable values in this field. Esperanto, for example is EO in ISO 639, and RFC2068 would allow a value of en-US for US English.
217: *
218: * @return
219: */
220: public String getPreferredLanguage();
221:
222: /**
223: * Follow inetOrgPerson definition of RFC 2798: "preferred written or spoken language for a person.”
224: * <p>
225: * See RFC2068 and ISO 639 for allowable values in this field. Esperanto, for example is EO in ISO 639, and RFC2068 would allow a value of en-US for US English.
226: *
227: * @return
228: */
229: public void setPreferredLanguage(String preferredLanguage);
230:
231: /**
232: * Follow inetOrgPerson definition of RFC 1274: "The [uid] attribute type specifies a computer system login name."
233: *
234: * @return
235: */
236: public String getUid();
237:
238: /**
239: * Follow inetOrgPerson definition of RFC 1274: "The [uid] attribute type specifies a computer system login name."
240: *
241: * @return
242: */
243: public void setUid(String uid);
244:
245: /**
246: * A user's X.509 certificate
247: *
248: * @return
249: */
250: public byte[] getUserCertificate();
251:
252: /**
253: * A user's X.509 certificate
254: */
255: public void setUserCertificate(byte[] userCertificate);
256:
257: /**
258: * An X.509 certificate specifically for use in S/MIME applications (see RFCs 2632, 2633 and 2634).
259: *
260: * @return
261: */
262: public byte[] getUserSMIMECertificate();
263:
264: /**
265: * An X.509 certificate specifically for use in S/MIME applications (see RFCs 2632, 2633 and 2634).
266: */
267: public void setUserSMIMECertificate(byte[] userSMIMECertificate);
268:
269: /**
270: * RFC 2798
271: * <p>
272: * This multivalued field is used to record the values of the license or registration plate associated with an individual.
273: *
274: * @return
275: */
276: public String getCarLicense();
277:
278: /**
279: * RFC 2798
280: * <p>
281: * This multivalued field is used to record the values of the license or registration plate associated with an individual.
282: *
283: * @return
284: */
285: public void setCarLicense(String carLicense);
286:
287: /**
288: * RFC 2798
289: * <p>
290: * Code for department to which a person belongs. This can also be strictly numeric (e.g., 1234) or alphanumeric (e.g., ABC/123).
291: *
292: * @return
293: */
294: public String getDepartmentNumber();
295:
296: /**
297: * RFC 2798
298: * <p>
299: * Code for department to which a person belongs. This can also be strictly numeric (e.g., 1234) or alphanumeric (e.g., ABC/123).
300: *
301: * @return
302: */
303: public void setDepartmentNumber(String departmentNumber);
304:
305: /**
306: * RFC 2798
307: * <p>
308: * Numeric or alphanumeric identifier assigned to a person, typically based on order of hire or association with an organization. Single valued.
309: *
310: * @return
311: */
312: public String getEmployeeNumber();
313:
314: /**
315: * RFC 2798
316: * <p>
317: * Numeric or alphanumeric identifier assigned to a person, typically based on order of hire or association with an organization. Single valued.
318: *
319: * @return
320: */
321: public void setEmployeeNumber(String employeeNumber);
322:
323: /**
324: * RFC 2798
325: * <p>
326: * Used to identify the employer to employee relationship. Typical values used will be "Contractor", "Employee", "Intern", "Temp", "External", and "Unknown" but any value may be used.
327: *
328: * @return
329: */
330: public String getEmployeeType();
331:
332: /**
333: * RFC 2798
334: * <p>
335: * Used to identify the employer to employee relationship. Typical values used will be "Contractor", "Employee", "Intern", "Temp", "External", and "Unknown" but any value may be used.
336: *
337: * @return
338: */
339: public void setEmployeeType(String employeeType);
340:
341: /**
342: * PKCS #12 [PKCS12] provides a format for exchange of personal identity information. When such information is stored in a directory service, the userPKCS12 attribute should be used. This attribute is to be stored and requested in binary form, as
343: * 'userPKCS12;binary'. The attribute values are PFX PDUs stored as binary data.
344: *
345: * @return
346: */
347: public byte[] getUserPKCS12();
348:
349: /**
350: * PKCS #12 [PKCS12] provides a format for exchange of personal identity information. When such information is stored in a directory service, the userPKCS12 attribute should be used. This attribute is to be stored and requested in binary form, as
351: * 'userPKCS12;binary'. The attribute values are PFX PDUs stored as binary data.
352: *
353: * @return
354: */
355: public void setUserPKCS12(byte[] userPKCS12);
356:
357: /**
358: * RFC 2798
359: *
360: * @return
361: */
362: public String getBusinessCategory();
363:
364: /**
365: * RFC 2798
366: */
367: public void setBusinessCategory(String businessCategory);
368:
369: /**
370: * RFC 2798 - Likely to change if directory is reloaded with data.
371: *
372: * @return
373: */
374: public String getX500UniqueIdentifier();
375:
376: /**
377: * RFC 2798 - Likely to change if directory is reloaded with data.
378: */
379: public void setX500UniqueIdentifier(String uniqueIdentifier);
380:
381: /**
382: * RFC 2798
383: *
384: * @return
385: */
386: public String getRoomNumber();
387:
388: /**
389: * RFC 2798
390: */
391: public void setRoomNumber(String roomNumber);
392:
393: /**
394: * RFC 2798
395: *
396: * @return
397: */
398: public String getSecretary();
399:
400: /**
401: * RFC 2798
402: */
403: public void setSecretary(String secretary);
404: }
|