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

jfxtras.icalendarfx.VElement Maven / Gradle / Ivy

The newest version!
package jfxtras.icalendarfx;

import java.util.List;

/**
 * 

Interface for all calendar elements.

* * @author David Bal * */ public interface VElement { /** *

Returns the name of the component as it would appear in the iCalendar content line.

*

Examples: *

    *
  • VEVENT *
  • SUMMARY *
  • LANGUAGE *
*

* @return - the component name */ String name(); /** Parse content line into calendar element. * If element contains children {@link #parseContent(String)} is invoked recursively to parse child elements also * * @param content calendar content string to parse * @return log of information and error messages * @throws IllegalArgumentException if calendar content is not valid, such as null */ // @Deprecated // List parseContent(String content) throws IllegalArgumentException; /** * Checks element to determine if necessary properties are set. * {@link #isValid()} is invoked recursively to test child elements if element is a parent * * @return - true if component is valid, false otherwise */ default boolean isValid() { return errors().isEmpty(); } /** * Produces a list of error messages indicating problems with calendar element * {@link #errors()} is invoked recursively to return errors of child elements in addition to errors in parent * * @return - list of error messages */ List errors(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy