Top Description Fields Constructors Methods
net.fortuna.ical4j.model

public abstract Class Component

extends Content
implements Serializable, PropertyContainer, FluentComponent, Comparable<Component>
Class Inheritance
All Implemented Interfaces
java.lang.Comparable, net.fortuna.ical4j.model.FluentComponent, net.fortuna.ical4j.model.PropertyContainer, net.fortuna.ical4j.model.PropertyListAccessor, java.io.Serializable
Known Direct Subclasses
net.fortuna.ical4j.model.component.Available, net.fortuna.ical4j.model.component.CalendarComponent, net.fortuna.ical4j.model.component.Observance, net.fortuna.ical4j.model.component.Participant, net.fortuna.ical4j.model.component.VAlarm, net.fortuna.ical4j.model.component.VLocation, net.fortuna.ical4j.model.component.VResource
Imports
net.fortuna.ical4j.model.parameter.Value, net.fortuna.ical4j.model.property.*, net.fortuna.ical4j.util.Strings, net.fortuna.ical4j.validate.ValidationException, .ValidationResult, org.apache.commons.lang3.builder.EqualsBuilder, .HashCodeBuilder, org.jetbrains.annotations.NotNull, java.io.Serializable, java.time.temporal.Temporal, .TemporalAmount, java.util.*, java.util.stream.Collectors

$Id$ [Apr 5, 2004]

Defines an iCalendar component. Subclasses of this class provide additional validation and typed values for specific iCalendar components.

Author
Ben Fortuna

Field Summary

Modifier and TypeField and Description
public static final String
AVAILABLE

Component token.

public static final String
BEGIN

Component start token.

protected ComponentList<? extends Component>
public static final String
END

Component end token.

public static final String
EXPERIMENTAL_PREFIX

Prefix for non-standard components.

private final String
public static final String
PARTICIPANT

Component token.

protected PropertyList
private static final long
public static final String
VALARM

Component token.

public static final String
VAVAILABILITY

Component token.

public static final String
VEVENT

Component token.

public static final String
VFREEBUSY

Component token.

public static final String
VJOURNAL

Component token.

public static final String
VLOCATION

Component token.

public static final String
VRESOURCE

Component token.

public static final String
VTIMEZONE

Component token.

public static final String
VTODO

Component token.

public static final String
VVENUE

Component token.

Constructor Summary

AccessConstructor and Description
protected
Component(final String
a component name
s
)

Constructs a new component containing no properties.

protected
Component(final String s, final PropertyList p)

protected
Component(final String
component name
s
,
final PropertyList
a list of properties
p
,
ComponentList<? extends Component> c)

Constructor made protected to enforce the use of ComponentFactory for component instantiation.

Method Summary

Modifier and TypeMethod and Description
public final <T extends Temporal> Set<Period<T>>

Returns:

a set of periods representing component occurrences within the specified boundary
calculateRecurrenceSet
(final Period<? extends Temporal>
a range that defines the boundary for calculations
period
)

Calculates the recurrence set for this component using the specified period.

public int
compareTo(@NotNull Component
the object to be compared.
o
)

Implements java.lang.Comparable.compareTo.

Compares this object with the specified object for order.

public Component

Returns:

the component copy
copy
()

Create a (deep) copy of this component.

public boolean
equals(final Object
the reference object with which to compare.
arg0
)

Overrides java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

public Component
public final String

Returns:

Returns the name.
getName
()

Implements abstract net.fortuna.ical4j.model.Content.getName.

public <T extends Property> List<T>
public final PropertyList

Returns:

Returns the underlying property list.
getPropertyList
()

Implements net.fortuna.ical4j.model.PropertyListAccessor.getPropertyList.

public Optional<Uid>

Returns:

a Uid instance, or null if no UID property exists
getUid
()

Returns the UID property of this component if available.

public String
public int
hashCode()

Overrides java.lang.Object.hashCode.

Returns a hash code value for this object.

protected abstract ComponentFactory<? extends Component>

Returns:

a component factory instance
newFactory
()

Returns a new component factory used to create deep copies.

public void
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

public ValidationResult
validate()

Perform validation on a component and its properties.

public abstract ValidationResult
validate(final boolean
indicates whether to validate the component's properties
recurse
)

Perform validation on a component.

protected ValidationResult
validateProperties()

Invoke validation on the component properties in its current state.

Field Detail

AVAILABLEback to summary
public static final String AVAILABLE

Component token.

BEGINback to summary
public static final String BEGIN

Component start token.

componentsback to summary
protected ComponentList<? extends Component> components
ENDback to summary
public static final String END

Component end token.

EXPERIMENTAL_PREFIXback to summary
public static final String EXPERIMENTAL_PREFIX

Prefix for non-standard components.

nameback to summary
private final String name
PARTICIPANTback to summary
public static final String PARTICIPANT

Component token.

propertiesback to summary
protected PropertyList properties
serialVersionUIDback to summary
private static final long serialVersionUID

Hides net.fortuna.ical4j.model.Content.serialVersionUID.

VALARMback to summary
public static final String VALARM

Component token.

VAVAILABILITYback to summary
public static final String VAVAILABILITY

Component token.

VEVENTback to summary
public static final String VEVENT

Component token.

VFREEBUSYback to summary
public static final String VFREEBUSY

Component token.

VJOURNALback to summary
public static final String VJOURNAL

Component token.

VLOCATIONback to summary
public static final String VLOCATION

Component token.

VRESOURCEback to summary
public static final String VRESOURCE

Component token.

VTIMEZONEback to summary
public static final String VTIMEZONE

Component token.

VTODOback to summary
public static final String VTODO

Component token.

VVENUEback to summary
public static final String VVENUE

Component token.

Constructor Detail

Componentback to summary
protected Component(final String s)

Constructs a new component containing no properties.

Parameters
s:String

a component name

Componentback to summary
protected Component(final String s, final PropertyList p)
Componentback to summary
protected Component(final String s, final PropertyList p, ComponentList<? extends Component> c)

Constructor made protected to enforce the use of ComponentFactory for component instantiation.

Parameters
s:String

component name

p:PropertyList

a list of properties

Method Detail

calculateRecurrenceSetback to summary
public final <T extends Temporal> Set<Period<T>> calculateRecurrenceSet(final Period<? extends Temporal> period)

Calculates the recurrence set for this component using the specified period. The recurrence set is derived from a combination of the component start date, recurrence rules and dates, and exception rules and dates. Note that component transparency and anniversary-style dates do not affect the resulting intersection.

If an explicit DURATION is not specified, the effective duration of each returned period is derived from the DTSTART and DTEND or DUE properties. If the component has no DURATION, DTEND or DUE, the effective duration is set to PT0S

NOTE: As a component may be defined in terms of floating date-time values (i.e. without a specific timezone), when calculating a recurrence set we must explicitly provide an applicable timezone for calculations.
Parameters
period:Period<? extends Temporal>

a range that defines the boundary for calculations

Returns:Set<Period<T>>

a set of periods representing component occurrences within the specified boundary

compareToback to summary
public int compareTo(@NotNull Component o)

Implements java.lang.Comparable.compareTo.

Doc from java.lang.Comparable.compareTo.

Compares this object with the specified object for order. Returns a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.

The implementor must ensure signum(x.compareTo(y)) == -signum(y.compareTo(x)) for all x and y. (This implies that x.compareTo(y) must throw an exception if and only if y.compareTo(x) throws an exception.)

The implementor must also ensure that the relation is transitive: (x.compareTo(y) > 0 && y.compareTo(z) > 0) implies x.compareTo(z) > 0.

Finally, the implementor must ensure that x.compareTo(y)==0 implies that signum(x.compareTo(z)) == signum(y.compareTo(z)), for all z.

Parameters
o:@NotNull Component

the object to be compared.

Returns:int

a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.

Annotations
@Override
copyback to summary
public Component copy()

Create a (deep) copy of this component.

Returns:Component

the component copy

equalsback to summary
public boolean equals(final Object arg0)

Overrides java.lang.Object.equals.

Doc from java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
arg0:Object

the reference object with which to compare.

Returns:boolean

true if this object is the same as the obj argument; false otherwise.

Annotations
@Override
getFluentTargetback to summary
public Component getFluentTarget()

Implements net.fortuna.ical4j.model.FluentComponent.getFluentTarget.

Annotations
@Override
getNameback to summary
public final String getName()

Implements abstract net.fortuna.ical4j.model.Content.getName.

Returns:String

Returns the name.

Annotations
@Override
getPropertiesback to summary
public <T extends Property> List<T> getProperties()
getPropertyListback to summary
public final PropertyList getPropertyList()

Implements net.fortuna.ical4j.model.PropertyListAccessor.getPropertyList.

Returns:PropertyList

Returns the underlying property list.

Annotations
@Override
getUidback to summary
public Optional<Uid> getUid()

Returns the UID property of this component if available.

Returns:Optional<Uid>

a Uid instance, or null if no UID property exists

getValueback to summary
public String getValue()

Implements abstract net.fortuna.ical4j.model.Content.getValue.

Returns:String

Doc from net.fortuna.ical4j.model.Content.getValue.

the content value

Annotations
@Override
hashCodeback to summary
public int hashCode()

Overrides java.lang.Object.hashCode.

Doc from java.lang.Object.hashCode.

Returns a hash code value for this object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Returns:int

a hash code value for this object

Annotations
@Override
newFactoryback to summary
protected abstract ComponentFactory<? extends Component> newFactory()

Returns a new component factory used to create deep copies.

Returns:ComponentFactory<? extends Component>

a component factory instance

setPropertyListback to summary
public void setPropertyList(PropertyList properties)

Implements net.fortuna.ical4j.model.PropertyContainer.setPropertyList.

Annotations
@Override
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Returns:String

a string representation of the object

Annotations
@Override
validateback to summary
public ValidationResult validate() throws ValidationException

Perform validation on a component and its properties.

Exceptions
ValidationException:
where the component is not in a valid state
validateback to summary
public abstract ValidationResult validate(final boolean recurse) throws ValidationException

Perform validation on a component.

Parameters
recurse:boolean

indicates whether to validate the component's properties

Exceptions
ValidationException:
where the component is not in a valid state
validatePropertiesback to summary
protected ValidationResult validateProperties() throws ValidationException

Invoke validation on the component properties in its current state.

Exceptions
ValidationException:
where any of the component properties is not in a valid state