Class VElementBase

java.lang.Object
jfxtras.icalendarfx.VElementBase
All Implemented Interfaces:
VElement
Direct Known Subclasses:
RRulePartBase, VParameterBase, VParentBase

public abstract class VElementBase extends Object implements VElement
Base class for all VCalendar elements. Contains a map of all no-arg constructors and related methods to support all calendar elements.
  • Field Details

  • Constructor Details

    • VElementBase

      public VElementBase()
  • Method Details

    • parseContent

      protected abstract List<VElementBase.Message> parseContent(String content)
      Parse content line into calendar element. If element contains children parseContent(String) is invoked recursively to parse child elements also
      Parameters:
      content - calendar content string to parse
      Returns:
      log of information and error messages
      Throws:
      IllegalArgumentException - if calendar content is not valid, such as null
    • throwMessageExceptions

      protected static void throwMessageExceptions(List<VElementBase.Message> messages, VElement element) throws IllegalArgumentException
      Throws:
      IllegalArgumentException
    • makeNoArgConstructorMap

      private static Map<Pair<Class<? extends VElement>,String>,Constructor<? extends VElement>> makeNoArgConstructorMap()
    • newEmptyVElement

      public static VChild newEmptyVElement(Class<? extends VElement> superclass, String name)
    • parse

      protected static <T extends VElementBase> T parse(T element, String valueContent)
      Creates a new VElement by parsing a String of iCalendar content text
      Type Parameters:
      T -
      Parameters:
      content - the text to parse, not null
      Returns:
      the parsed DaylightSavingTime
    • isContentValid

      protected boolean isContentValid(String valueContent)
    • elementName

      protected static String elementName(String content)
      Return element name from calendar content e.g VEVENT, SUMMARY, TZID Doesn't check if content's valid. Returns null if no valid property name exists.
      Parameters:
      content -
      Returns:
      element name