MimeDir and VCard Java Interfaces
Chris Hubick <[email protected]> Wed, 28 Jul 2004 16:28:25 -0600
| Newsgroups | gmane.ietf.vcard |
|---|---|
| Message-ID | <[email protected]> |
--Boundary_(ID_wvuSITc0taQcWnfBO5yEPw) Content-type: text/plain Content-transfer-encoding: 7BIT Hi. I am writing to ask for feedback on the attached Java interfaces which I have created for exposing MimeDir and vCard data. As part of my work for my employer, Athabasca University, I have created a Java interface for exposing IEEE LTSC Learning Object Metadata (LOM). The LOM standard makes use of vCards for storing information about metadata contributors. I have thus desired a pure Java interface for exposing associated vCard data through my LOM API, which is independent of any particular vCard or MimeDir parser implementation. Feedback appreciated, thanks. -- Chris Hubick mailto:[email protected] mailto:[email protected] http://adlib.athabascau.ca/~hubick/ http://www.hubick.com/ __ This communication is intended for the use of the recipient to whom it is addressed, and may contain confidential, personal, and or privileged information. Please contact us immediately if you are not the intended recipient of this communication, and do not copy, distribute, or take action relying on it. Any communications received in error, or subsequent reply, should be deleted or destroyed. --- --Boundary_(ID_wvuSITc0taQcWnfBO5yEPw) Content-type: text/x-java; name=MimeDir.java; charset=UTF-8 Content-transfer-encoding: 7BIT Content-disposition: attachment; filename=MimeDir.java /* Licensed under the Free Software Foundation (FSF.org) GNU Lesser General Public License (LGPL). */ package org.ietf.mimedir; import java.util.Date; import java.net.URI; /** * This is a Java interface for exposing (read-only) RFC 2425 Mime-Directory information. */ public interface MimeDir { public ContentLine[] getContent(); public interface ContentLine { public String getGroup(); public String getName(); public Parameter[] getParameters(); public ValueType getValue(); public interface Parameter { public String getName(); public String getValue(); } // MimeDir.ContentLine.Parameter } // MimeDir.ContentLine public interface ValueType { public byte[] getValue(); } // MimeDir.ValueType public interface TextValueType extends ValueType { public String[] getTextValues(); } // MimeDir.TextValueType public interface IntegerValueType extends ValueType { public Integer[] getIntegerValues(); } // MimeDir.IntegerValueType public interface FloatValueType extends ValueType { public Float[] getFloatValues(); } // MimeDir.FloatValueType public interface BooleanValueType extends ValueType { public Boolean getBooleanValue(); } // MimeDir.BooleanValueType public interface DateValueType extends ValueType { public Date[] getDateValues(); } // MimeDir.DateValueType public interface TimeValueType extends ValueType { public Date[] getTimeValues(); } // MimeDir.TimeValueType public interface DateTimeValueType extends ValueType { public Date[] getDateTimeValues(); } // MimeDir.DateTimeValueType public interface URIValueType extends ValueType { public URI getURIValue(); } // MimeDir.URIValueType } // MimeDir --Boundary_(ID_wvuSITc0taQcWnfBO5yEPw) Content-type: text/x-java; name=VCard.java; charset=UTF-8 Content-transfer-encoding: 7BIT Content-disposition: attachment; filename=VCard.java /* Licensed under the Free Software Foundation (FSF.org) GNU Lesser General Public License (LGPL). */ package org.ietf.mimedir.vcard; import org.ietf.mimedir.MimeDir; /** * This is a Java interface for exposing (read-only) RFC 2426 vCard information. */ public interface VCard extends MimeDir { public interface BinaryValueType extends ValueType { public byte[] getBinaryValue(); } // VCard.BinaryValueType public interface VCardValueType extends TextValueType { public VCard getVCardValue(); } // VCard.VCardValueType public interface PhoneNumberValueType extends TextValueType { public String getPhoneNumberValue(); } // VCard.PhoneNumberValueType } // VCard --Boundary_(ID_wvuSITc0taQcWnfBO5yEPw)--