All Downloads are FREE. Search and download functionalities are using the official Maven repository.

jfxtras.icalendarfx.properties.component.relationship.UniqueIdentifier Maven / Gradle / Ivy

The newest version!
package jfxtras.icalendarfx.properties.component.relationship;

import jfxtras.icalendarfx.components.VEvent;
import jfxtras.icalendarfx.components.VFreeBusy;
import jfxtras.icalendarfx.components.VJournal;
import jfxtras.icalendarfx.components.VTodo;
import jfxtras.icalendarfx.properties.VPropertyBase;
import jfxtras.icalendarfx.properties.component.relationship.UniqueIdentifier;

/**
 * UID
 * Unique Identifier
 * RFC 5545, 3.8.4.7, page 117
 * 
 * This property defines the persistent, globally unique identifier for the calendar component.
 *
 * The "UID" itself MUST be a globally unique identifier.
 * The generator of the identifier MUST guarantee that the identifier
 * is unique.  There are several algorithms that can be used to
 * accomplish this.  A good method to assure uniqueness is to put the
 * domain name or a domain literal IP address of the host on which
 * the identifier was created on the right-hand side of an "@", and
 * on the left-hand side, put a combination of the current calendar
 * date and time of day (i.e., formatted in as a DATE-TIME value)
 * along with some other currently unique (perhaps sequential)
 * identifier available on the system (for example, a process id
 * number).  Using a DATE-TIME value on the left-hand side and a
 * domain name or domain literal on the right-hand side makes it
 * possible to guarantee uniqueness since no two hosts should be
 * using the same domain name or IP address at the same time.  Though
 * other algorithms will work, it is RECOMMENDED that the right-hand
 * side contain some domain identifier (either of the host itself or
 * otherwise) such that the generator of the message identifier can
 * guarantee the uniqueness of the left-hand side within the scope of
 * that domain.
 *
 * Examples:
 * UID:[email protected]
 * 
 * @author David Bal
 * 
 * The property can be specified in following components:
 * @see VEvent
 * @see VTodo
 * @see VJournal
 * @see VFreeBusy
 */
public class UniqueIdentifier extends VPropertyBase
{
    public UniqueIdentifier(UniqueIdentifier source)
    {
        super(source);
    }
    
    public UniqueIdentifier()
    {
        super();
    }

    public static UniqueIdentifier parse(String content)
    {
    	return UniqueIdentifier.parse(new UniqueIdentifier(), content);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy