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

jfxtras.icalendarfx.properties.VProperty Maven / Gradle / Ivy

The newest version!
package jfxtras.icalendarfx.properties;

import java.util.List;

import jfxtras.icalendarfx.VChild;
import jfxtras.icalendarfx.VParent;
import jfxtras.icalendarfx.parameters.NonStandardParameter;
import jfxtras.icalendarfx.parameters.ValueParameter;
import jfxtras.icalendarfx.properties.VPropertyBase;

/**
 * top-level interface for all iCalendar properties
 * 
 * @author David Bal
 * @see PropertyType - enum of all supported Properties
 * @see VPropertyBase
 *
 * @param  - type of value stored in Property
 */
public interface VProperty extends VParent, VChild
{    
    /**
     * The value of the property.
     * 
     * For example, in the below property:
     * LOCATION;LANGUAGE=en:Bob's house
     * The value is the String "Bob's house"
     * 
     */
    T getValue();
    /** Set the value of the property */
    void setValue(T value);
        
    /**
     * VALUE
     * Value Date Types
     * RFC 5545 iCalendar 3.2.10 page 29
     * 
     * To explicitly specify the value type format for a property value.
     * 
     * Property value type.  Optional if default type is used.
     * Example:
     * VALUE=DATE
     */
    ValueParameter getValueType();
    /** Set the value type */
    void setValueType(ValueParameter value);

    /**
     * 

Non-Standard Parameters

* *

x-param = x-name "=" param-value *("," param-value)
; A non-standard, experimental parameter.

*/ List getNonStandard(); void setNonStandard(List nonStandardParams); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy