jfxtras.icalendarfx.VParent Maven / Gradle / Ivy
package jfxtras.icalendarfx;
import java.util.List;
import jfxtras.icalendarfx.VChild;
import jfxtras.icalendarfx.VElement;
/**
* Parent calendar components (e.g. VCALENDAR, VEVENT, SUMMARY, RRULE value). Parent components can have children.
*
* Note: Implementation of adding children for different parent types is not exposed,
* but rather handled internally when a calendar element is set or changed.
*
* @author David Bal
*/
public interface VParent extends VElement
{
/**
* Returns unmodifiable list of {@link VChild} elements.
*
* @return unmodifiable list of children
*/
List childrenUnmodifiable();
/**
* Add child element to parent by parsing content text
*
* @param child element to add to ordered list
*/
@Deprecated // do I want this??? - it acts like parseInto
void addChild(String childContent);
/**
* Add child element to parent.
*
* @param child element to add to ordered list
*/
void addChild(VChild child);
/**
*
* @param index index where child element is to be put
* @param child element to add to ordered list
*/
void addChild(int index, VChild child);
/**
* Remove child from parent.
*
* @param child element to add to ordered list
* @return true is success, false if failure
*/
boolean removeChild(VChild child);
/**
*
* @param index index of old child element to be removed
* @param child new child element to put at index
* @return
*/
boolean replaceChild(int index, VChild child);
/**
*
* @param oldChild old child element to be removed
* @param newChild new child element to put at index where oldChild was
* @return
*/
boolean replaceChild(VChild oldChild, VChild newChild);
/**
*
* @param index index of child element to be removed
* @return true is success, false if failure
*/
boolean removeChild(int index);
/** Add the child to the end of the ordered list
* Should only be used for list-based children that are added by accessing the
* list. A better alternative would be to use the {@link addChild} method which
* automatically adds a child and orders it.
* */
void orderChild(VChild child);
/** Insert the child at the index in the ordered list */
void orderChild(int index, VChild child);
/** Replace the oldChild with the newChild in the ordered list */
void orderChild(VChild oldChild, VChild newChild);
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy